下面介绍时arr代表数组
属性
arr.length--计算数组的长度。返回--数组长度值
let arr = [1,2,3,4]
console.log(arr.length)
//结果: 4
方法
- 1. arr.push()--在数组尾部添加元素。得到添加元素后的数组,返回数组长度
let arr = [1,2,3,4]
console.log(arr.push(5,6))
//结果: 6
console.log(arr);
//结果:[1,2,3,4,5,6]
- 2. arr.pop()--删除数组中最后一个元素。得到删除后的数,返回删除的值
let arr = [1,2,3,4]
console.log(arr.pop())
//结果: 4
console.log(arr)
//结果:[1,2,3]
- 3. arr.shift()--删除数组头部元素。得到删除后的数组,返回删除的值
let arr = [1,2,3,4]
console.log(arr.shift());
//结果: 1
console.log(arr);
//结果:[2,3,4]
- 4. arr.unshift()--在数组头部添加元素。得到添加后的数组,返回数组长度值
let arr = [1,2,3,4]
console.log(arr.unshift(0))
//结果: 5
console.log(arr);
//结果:[0,1,2,3,4]
- 5. arr.indexOf()--找到元素对应的索引(从左向右查)。数组不变,返回值--找到:对应索引值;找不到: -1
let arr = [1,2,3,4]
console.log(arr.indexOf(4));
//结果: 3
console.log(arr.indexOf(0));
//结果: -1
- 6. arr.lastIndexOf()--找到元素对应的索引(从右向左查)。数组不变,返回值--找到:对应索引值;找不到: -1
let arr = [1,2,3,4]
console.log(arr.lastIndexOf(4))
//结果: 3
console.log(arr.lastIndexOf(0))
//结果: -1
- 7. arr.splice()--通过索引删除某个元素。得到删除后的数组,返回的是删除的数组
let arr = [1,2,3,4]
//第一个值为索引,代表从哪开始删(包括自己)
//第二个值为删除个数
//只有一个值时,表示从当前索引对应值开始,后面的全部删除,包括自己
console.log(arr.splice(0));
//结果: [1,2,3,4]
console.log(arr);
//结果: []
console.log(arr.splice(0,2));
//结果: [1,2]
console.log(arr);
//结果: [3,4]
- 8. arr.fill()--将数组中指定区间的所有元素的值,都替换成某个固定的值。得到替换后的数组,返回的也是替换后的数组
let arr = [1, 2, 3, 4]
//第一个值为替换后的元素
//后两个代表区间,[1,3)
//只写一个值,则全部替换
console.log(arr.fill(8,1,3));
//结果: [1,8,8,4]
console.log(arr);
//结果: [1,8,8,4]
- 9. arr.reverse()--颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。得到翻转后的数组,返回的也是翻转后的数组
let arr = [1, 2, 3, 4]
console.log(arr.reverse(2))
//结果: [4,3,2,1]
console.log(arr);
//结果: [4,3,2,1]
- 10. arr.sort()--对数组元素进行排序。得到排序后的数组,返回的也是排序后的数组
let arr = [1, 5, 3, 4,8,5,6]
//升序,默认升序
console.log(arr.sort());
//结果: [1,3,4,5,5,6,8]
console.log(arr);
//结果: [1,3,4,5,5,6,8]
//降序
console.log(arr.sort((a,b)=>{return b-a}));
//结果: [8,6,5,5,4,3,1]
console.log(arr);
//结果: [8,6,5,5,4,3,1]
- 11. arr.concat()--数组合并,可以合并多个数组。得到合并后的数组,返回的也是合并后的数组
let arr1 = [1,2,3,4]
let arr2 = [1,2,3,4]
let arr3 = [5,6,7]
console.log(arr1.concat(arr2));
//结果: [1,2,3,4,1,2,3,4]
arr = arr1.concat(arr2,arr3)
console.log(arr);
//结果: [1,2,3,4,1,2,3,4,5,6,7]
- 12. arr. includes()--判断当前数组是否包含某指定的值,如果是返回
true
,否则返回false
let arr = [1,2,3,4]
console.log(arr.includes(0))
//结果: false
console.log(arr.includes(1))
//结果: true
- 13. arr.slice()--截取当前数组中的一段元素组合成一个新数组,原数组不变,返回截取后的数组
let arr = [1,2,3,4]
console.log(arr.slice(0))
//结果: [1,2,3,4]
console.log(arr.slice(0,1))
//结果: [1]
console.log(arr)
//结果: [1,2,3,4]
- 14. arr. forEach((item,index)=>{})--遍历数组,为数组中的每个元素执行一次回调函数,原数组不变
let arr = [1,2,3,4]
//第一个参数为值,第二个为索引
arr.forEach((item,index)=>{
console.log(item,index);
})
console.log(arr);
//结果:
1,0
2,1
3,2
4,3
[1,2,3,4]
- 15. arr. filter((item,index)=>{})--将所有在过滤函数中返回
true
的数组元素放进一个新数组中并返回,原数组不变,返回过滤后的数组
let arr = [1,2,3,4]
arr1 = arr.filter((item,index)=>{
return item>2
})
console.log(arr1)
//结果: [3,4]
console.log(arr)
//结果: [1,2,3,4]
- 16. arr.map((item,index)=>{})--返回更改每一项后的数组,原数组不变,返回更改后的数组
let arr = [1,2,3,4]
arr1 = arr.map((item,index)=>{
return item=2
})
console.log(arr1)
//结果: [2,2,2,2]
console.log(arr)
//结果: [1,2,3,4]
- 17. arr.find((item,index)=>{})--找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回
undefined
let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.find((item,index) => item > 1)
console.log(found1);
//结果: 2
let found2 = arr.find((item,index) => item > 11)
console.log(found2);
//结果: undefined
- 18. arr.findIndex((item,index)=>{})--找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回
-1
let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.findIndex((item,index) => item > 1)
console.log(found1);
//结果: 1 //也就是第一个满足条件2对应的索引值
let found2 = arr.findIndex((item,index) => item > 11)
console.log(found2);
//结果: -1
- 19. arr.every((item,index)=>{})--如果数组中的每个元素都满足测试函数,则返回
true
,否则返回false。
let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.every((item,index) => item > 0)
console.log(found1);
//结果: true //每一项都满足条件
let found2 = arr.every((item,index) => item > 2)
console.log(found2);
//结果: false //有一个不满足就为false
- 20. arr.some((item,index)=>{})--如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false
let arr = [1, 2, 3, 4]
let found1 = arr.some((item,index) => item > 3)
console.log(found1)
//结果: true //有一个满足就为true
let found2 = arr.some((item,index) => item > 4)
console.log(found2)
//结果: false //都不满足为false
- 21. arr.reduce((a,b)=>{},c)--从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值; arr.reduceRight(从右向左执行)
let arr = [1, 2, 3, 4]
//第一次: a=1,b=2
//第二次: a=3,b=3
//第三次: a=6,b=4
let arr1 = arr.reduce((a,b)=>{
return a+b
})
console.log(arr1)
//结果: 10
//第一次: a=10,b=1
//第二次: a=11,b=2
//第三次: a=13,b=3
//第四次: a=16,b=4
let arr1 = arr.reduce((a,b)=>{
return a+b
},10)
console.log(arr1)
//结果: 20
- arr.join( ) -- 在数组中加入一个特殊符号,原数组不变; 返回值:字符串
let arr = [1, 5, 3, 4, 8, 5, 6]
console.log(arr.join(','));
//结果: 1,5,3,4,8,5,6
console.log(arr);
//结果: [1, 5, 3, 4,8, 5, 6]