数组
数组是有序的元素序列,一组数据的集合,或者可以理解为用来在单个变量中储存多个值
- 数组的方法及属性
1.length属性:获取数组长度
2.concat:合并数组
3.slice():截取数组中的元素,返回截取后的数组 不改变原数组
4.splice():用来删除或添加元素,会改变原数组
5.join():把数组转为字符串
6.push() 向数组的最后末尾添加一个或多个元素,返回一个长度 会改变原有数组
7.pop()从数组最后删除元素,返回被删除的元素,会改变原数组
8.shift() 删除数组中的第一个元素,返回删除的元素 会改变原有数组
9.unshift()在数组最前添加元素。返回添加后数组的新长度,会改变元素
10.reverse() 颠倒数组元素的顺序 会改变原有数组
11.sort() 对数组中的元素进行排序 会改变原有数组
12.toString() 把数组中的元素转为字符串,返回一个字符串
13.indexOf 通过元素查找下标,找不到返回 -1
- 数组的方法
1.Length()获取数组长度
var arr = [1,2,3,4,5,6,7,8,9];
console.log(arr.length)//9
2.Concat()合并数组
var arr = [1,5,2,3,6,9];
console.log(arr.concat([1,2,3],34))//[1,5,2,3,6,9,1,2,3,34]
3.Slice()截取数组中的元素,返回截取后的数组 不改变原数组
第一个参数: 起始下标(不包括起始下标)
第二个参数: 结束下标
var arr = [1,'a',3,4,'f',6,7,8,9];
console.log(arr.slice(2,5))//[3,4,f]
4.splice():用来删除或添加元素,会改变原数组
第一个参数: 起始下标
第二个参数: 删除的个数
第三个参数: 需要插入的元素
var arr = ['a','b','c','d',1,2,3];
console.log(arr.splice(2,0,'1'))//[]
console.log(arr)//['a','b','1','c','d',1,2,3]
5.join():把数组转为字符串
默认以逗号分隔
var arr = [1,'a',3,4];
console.log(arr.join())//1,a,3,4
6.push() 向数组的最后末尾添加一个或多个元素,返回一个长度 会改变原有数组
var arr = [1,3,4,5,6,'a'];
console.log(arr.push(1));
console.log(arr)//[1,3,4,5,6,'a',1]
7.pop()从数组最后删除元素,返回被删除的元素,会改变原数组
var arr = [1,2,3,4,5,6];
console.log(arr.pop());//6
console.log(arr)//[1,2,3,4,5]
8.shift() 删除数组中的第一个元素,返回删除的元素 会改变原有数组
var arr = [1,2,3,4,5,6,7];
console.log(arr.shift());//1
console.log(arr)//[2,3,4,5,6,7]
9.unshift()在数组最前添加元素。返回添加后数组的新长度,会改变元素
var arr = [1,2,3,4,5];
console.log(arr.unshuft('a'));//6
console.log(arr)//['a',1,2,3,4,5]
10.reverse() 颠倒数组元素的顺序 会改变原有数组
var arr = [1,2,3,4,5];
console.log(arr.reverse())//[5,4,3,2,1]
11.sort() 对数组中的元素进行排序 会改变原有数组
var arr = [1,2,6,3,4,5,2];
console.log(arr.sort())//[1,2,2,3,4,5,6]
12.toString() 把数组中的元素转为字符串,返回一个字符串
var arr = [1,2,6,3,4,5,2,'a'];
console.log(arr.toString())//1,2,6,3,4,5,2,a
13.indexOf 通过元素查找下标,找不到返回 -1
var arr = [1,2,6,3,4,5,2,'a'];
console.log(arr.indexOf('a'))//7
console.log(arr.indexOf(7))//-1
Array.forEach(function (a, b, c) {
});
a: 循环的当前元素
b: 当前下标
c: 原数组
不会改变原数组 不会返回数据
Array.map(function (a, b, c) {
return 加工后的元素;
});
a: 循环的当前元素
b: 当前下标
c: 原数组
返回一个新数组
不修改原数组
Array.filter(function(a, b, c) {
return a>0;
}); ( 数组过滤 )
a: 循环的当前元素
b: 当前下标
c: 原数组
返回一个新数组(放的是满足条件的元素)
不会改变原数组
Array.every(function (a, b, c) {
return a > 0;
});
a: 循环的当前元素
b: 当前下标
c: 原数组
当数组中所有元素满足其条件情况下,返回布尔值 true
当数组中其中一个不满足其条件情况下,返回布尔值 false,(立即终止循环)
Array.some(function (a, b, c) {
return a > 0;
});
a: 循环的当前元素
b: 当前下标
c: 原数组
当数组中其中一个元素满足其条件情况下,返回布尔值 true (立即终止循环)
当数组中所有不满足其条件情况下,返回布尔值 false
Array.reduce(function (a, b, c,d) {
return a + b;
}, x)
a : 上一次循环的结果
b : 当前元素
c :当前元素下标
d : 起始值