下面介绍时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]