数组的使用(1)
程序员文章站
2022-03-06 08:20:50
...
一、JavaScript中的数组定义
- 数组标准定义
数组是一个存储元素的线性集合,元素通过索引来进行存取,这里的索引通常为数字,计算元素之间存储位置的偏移量。 - JavaScript中的数组定义
JavaScript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,这些索引即使是数组,也会在内部被转换为字符串,因为JavaScript中对象的属性名必须是字符串。
二、数组的使用
1、创建数组
var num = [];
var num1 = [1,2,3];
var num2 = new Array();
var num3 = new Array(5);
var num4 = new Array(1,2,3,4,5);
2、判断一个对象是否是数组
方法:Array.isArray();
var num = 3;
var number = [1,2,3];
console.log(Array.isArray(num)); //false
console.log(Array.isArray(number)); //true
3、数组的读写
- 常使用循环进行读写
- 常使用数组的length属性来控制循环次数
- JavaScript中的数组属于对象,长度可以任意增长,超出其创建时指定的长度
4、字符串与数组的转换
- 数组转字符串:① join(’ ‘) 参数指定连接符 ② toString()
toString不能指定链接符,只能是逗号
var number = [1,2,3];
console.log(number.join("-")); //1-2-3
console.log(number.toString()); //1,2,3
- 字符串转为数组:split(’ ‘) 参数指定分割符
var str = "hello world";
console.log(str.split(" ")); //[ 'hello', 'world' ]
5、数组的浅拷贝与深拷贝
- 浅拷贝:把一个数组赋值给另一个数组,只是为被赋值的数组增加了一个新的引用,当你通过原引用修改数组的值时,另外一个引用也会以感知到这个变化。
新数组仍然指向原来的数组
var number = [1,2,3];
var number1 = number;
console.log(number1) //[ 1, 2, 3 ]
number[2] = 10;
console.log(number1) //[ 1, 2, 10]
- 深拷贝:将数组中的每个元素复制到新数组中,修改自己不会影响对方
var number = [1,2,3];
var number2 = [];
for(var i = 0;i<number.length;i++){
number2[i] = number[i];
}
三、存取函数
1、查找元素
- indexOf():查找传进来的参数是否存在于目标数组中,存在返回索引,不存在返回-1;
- lastIndexOf():与indexOf功能一样,只不过是从后往前找
切记:数组下标从0开始
2、数组合并
concat():合并多个数组为一个,不修改原数组,返回新数组
3、 强大的splice
截取一个新数组
为数组添加元素
为数组删除元素
四、数组的增删-
添加元素
①push():将一个元素添加到数组末尾 ②unshift():将一个元素添加到数组开头 ③使用length属性向数组末尾添加一个元素: num[length] = 3;
-
删除元素
①pop():从数组末尾移除一个元素 ②shift():从数组开头移除一个元素
从数组任意位置进行增删用之前的splice即可
五、为数组排序
- reverse():将数组中的元素顺序进行翻转
var num = [1,2,3,4,5,6,7,8,9,0];
console.log(num.reverse()) //[ 0, 9, 8, 7, 6, 5, 4, 3, 2, 1 ]
- sort() : 按照字典顺序进行排序(字符串类型使用最好)
var name = ["dawei","lilei","hanmeimei","zhangsan","wangwu","lisi","lilei"];
console.log(name.sort())
//['dawei','hanmeimei','lilei','lilei','lisi','wangwu','zhangsan' ]
如果是数字使用sort()结果会不太令人满意
这时要使用sort对数字进行排序,需要指定排序规则
var number = [1,23,2,4,14]
console.log(number.sort(F)) //[ 1, 2, 4, 14, 23 ]
function F(a,b){
return a-b;
}
return b-a 即可改为从大到小排序
推荐阅读
-
Asp .Net Core下$.ajax()的使用
-
PHP命名空间(Namespace)的使用详解_php实例
-
.Net Core AutoMapper的使用
-
怎么实现springmvc接收jquery提交的数组后提取数据
-
jquery.extend 与 jquery.fn.extend的区别和使用
-
javascript - 求推荐:可以使用markdown写文章的PHP博客系统
-
jdbc连接数据库 PHP5中使用PDO连接数据库的方法
-
require中使用绝对路径的有关问题:常量重定义,变量覆盖,重调用增加开销
-
php使用array_search函数实现数组查找的方法,array_search数组_PHP教程
-
php使用curl判断网页404(不存在)的方法 原创,curl404