数组中的方法

2021-06-10  本文已影响0人  樱桃小白菜

放一张网上的神图


数组方法图.jpg

可以遍历数组的方法

forEach 遍历数组,使数组的每一个元素调用指定函数

var arr = [ 1,2,3,4,5 ]
arr.forEach(function(item,index,a) {
  console.log(item,index,a)
})

map 遍历数组,创建一个新数组。为新数组的每一个元素调用指定函数

var arr = [ 1,2,3,4,5 ]
let newArr = arr.map(function(item,index,a) {
  return item*10
  console.log(item,index,a)
})
console.log(arr ,newArr)  //  [1, 2, 3, 4, 5]  [ 10, 20, 30, 40, 50 ]

filter 遍历数组,建一个新的数组。新数组中的元素是通过检查指定数组中符合条件的所有元素

let arr = [ 1,2,3,4,5 ]
let newArr = arr.filter(function (value, index, array) {
  return value % 2 === 0
})
console.log(newArr)    //  [2, 4]

every 检测数组中每一项是否符合条件,全部符合返回 true 不符合则返回 false

var arr = [ 1,2,3,4,5 ]
console.log(arr.every((item,index,array) => {
  return item % 2 === 0
}),arr)

some 检测数组中每一项是否符合条件,任意一项符合返回 true 不符合则返回 false

var arr = [ 1,2,3,4,5 ]
console.log(arr.some((item,index,array) => {
  return item % 2 === 0
}),arr)

reduce 使数组的前项和后项做计算,并返回最终的值

var arr = [ 1,2,3,4,5 ]
arr.reduce((prev,next)=> {
   return prev+next
})        // 15
console.log(arr)  // [1, 2, 3, 4, 5]

includes 方法用来判断一个数组是否包含一个指定的值,如果是则返回true,否则false.

let site = ['runoob','google','taobao'];
site.includes('runoob');               //true
site.includes('baidu');                  //false
site.includes('runoob',2);              //false
site.includes('google',1);              //true
site.includes("google",-1)            // false

可以改变原数组的方法

push() 添加一个或多个元素到数组的末尾,并返回数组新的长度

var arr = [ 1,2,3,4,5 ]
arr.push(5,6)    //  7
console.log(arr)  //  [ 1,2,3,4,5,5,6 ]

pop() 删除并返回数组的最后一个元素

var arr = [ 1,2,3,4,5 ]
arr.pop()           //  5
console.log(arr)  //  [ 1,2,3,4 ]

shift() 删除并返回数组的第一个元素

var arr = [ 1,2,3,4,5 ]
arr.shift(5,6)    //  1
console.log(arr)  //  [ 2,3,4,5 ]

unshift() 添加一个或多个元素到数组的末尾,并返回数组新的长度

var arr = [ 1,2,3,4,5 ]
arr.unshift(5,6)    //  7
console.log(arr)  //  [ 5,6,1,2,3,4,5 ]

splice() 向/从数组中添加/删除项目,然后返回被删除的项目。

参数 说明
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
var arr = [ 1,2,3,4,5 ]
arr.splice(1,2)    // [ 2,3 ]
console.log(arr)  //  [ 1,4,5 ]
// 在 1 后面插入 2 , 3
arr.splice(1,0,2,3)    // [ ]
console.log(arr)  //  [ 1,2,3,4,5 ]

sort() 对数组的元素进行排序

var arr = [0,5,7,8,2,3,6,6,1,4,9,11,17]
arr.sort()  // [ 0, 1, 11, 17, 2, 3, 4, 5, 6, 6, 7, 8, 9 ]
console.log(arr)  // [ 0, 1, 11, 17, 2, 3, 4, 5, 6, 6, 7, 8, 9 ]
//  使用比较函数进行排序
arr.sort(function(a,b){
  return a - b
})
console.log(arr)  //  [0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 11, 17]

reverse 颠倒数组中元素的顺序

var arr = [ 1,3,4,5 ]
arr.reverse()    // [ 5,7,3,1 ]
console.log(arr)  //  [ 5,7,3,1 ]

不改变原数组的方法

map

slice

concat

join

上一篇 下一篇

猜你喜欢

热点阅读