一,数组的创建
- 1,使用array构造函数创建
创建一个空数组
var arr1 = new Array();创建一个长度为30的数组
var arr2 = new Array(30);创建一个包含2个字符串的数组
var arr3 = new Array("AA","yann");
- 2,使用数组字面量创建
创建一个空数组
var arr4 = [];创建一个长度为30的数组
var arr5 = [30];创建一个包含2个字符串的数组
var arr6 = ["BB","LL"];
二,数组的使用
- 1,数组中的指定元素 = 数组名[索引值];
- 2,没有指定索引(元素没那么多),系统不报错,而是给定值为undefined
三,数组的注意
- 1,数组中可以放不同类型的数据类型;
- 2,数组可以动态修改长度
四,数组对象的属性和方法
1,Array 对象属性
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的数组函数的引用。 |
length | 设置或返回数组中元素的数目。 |
prototype | 使您有能力向对象添加属性和方法。 |
2,Array 对象方法
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() | 颠倒数组中元素的顺序。 |
shift() | 删除并返回数组的第一个元素 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素。 |
toSource() | 返回该对象的源代码。 |
toString() | 把数组转换为字符串,并返回结果。 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值 |
五,array重要方法示例
1,slice():截取数组
- 1个参数:下标到数组末尾
- 2个参数:from 到 to ,第二个参数开区间
- 形成新数组,原数组不变
var arr2=new Array("Saab","Volvo","BMW",5); console.log(arr2.slice(0,2)); 输出:[ 'Saab', 'Volvo' ]
2,splice():删除数组元素
- 第一个参数:删除元素的位置;
- 第二个参数:删除元素的数量
- 第三个元素:要插入的新元素
- 形成新数组,原数组也改变
var arr2=new Array("Saab","Volvo","BMW",5,6,53,9); console.log(arr2.splice(0,2)); console.log(arr2); 结果: [ 'Saab', 'Volvo' ] [ 'BMW', 5, 6, 53, 9 ]
2个参数:array.splice(2,1);
3个参数及以上:array.splice(2,1,15);
var arr2=new Array("Saab","Volvo","BMW",5,6,53,9); arr2.splice(0,2,2222,3333); console.log(arr2); 结果: [ 2222, 3333, 'BMW', 5, 6, 53, 9 ]
3,map():方法映射
“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]
4,filter():方法过滤
“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(x, index) {
return index % 3 === 0 || x >= 8;
});
console.log(arr2); //[1, 4, 7, 8, 9, 10]
5,every():每一项满足
判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(x) {
return x < 10;
});
console.log(arr2); //true
var arr3 = arr.every(function(x) {
return x < 3;
});
console.log(arr3); // false
6,some():至少一项满足
判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
});
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
});
console.log(arr3); // false