放一张网上的神图
数组方法图.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
网友评论