数组中常用的方法
2019-08-15 本文已影响0人
lacduang
- spread operator 扩展运算符
var obj = {name: 'joy', age: 18, gender: '女'}
var obj1 = {...obj} // {name: "joy", age: 18, gender: "女"}
var arr = [12, 5, 8]
var arr2 = [...arr2] // [12, 5, 8]
- for...of 迭代器
const toolBox = ['Hammer', 'Screwdriver', 'Ruler']
for(var item of toolBox) {
console.log(item) // Hammer, Screwdriver, Ruler
}
- for...in
const toolBox = ['Hammer', 'Screwdriver', 'Ruler']
for(var item of toolBox) {
console.log(item) // 0, 1, 2
}
- includes() 检查集合中是否包含指定元素, 返回boolean值
var arr = [12, 5, 8]
console.log(arr.includes(12)) // true
console.log(arr.includes(6)) // false
- some() 检查数组中是否存在指定元素, 返回boolean值, 参数是函数
ES5
var arr = [12, 5, 8]
arr.some(function(item) {
return item === 12 // true
})
ES6
var arr = [12, 5, 8]
arr.some(item => item === 18) // false
- every() 检查数组中的每一项是否都符合要求, 返回boolean值
var arr = [12, 5, 8]
arr.every(item => item >= 5) // true
- filter() 创建一个包含所有满足条件的新数组, 不改变原数组
var arr = [12, 5, 8]
arr.filter(item => item > 5) // [12, 8]
- map(cur, index, arr) 用于修改数组中的元素, 避免对原始数组的修改, 返回新数组
var arr = [12, 5, 8]
arr.map(item => item*2) // [24, 10, 16]
- reduce() 把数组中的所有值最终转化为一个值
var arr = [12, 5, 8]
// sum 初始值为数组的第一个元素, item 为第二个元素
// 第二次循环时 sum = sum + item
arr.reduce((sum, item) =>{
return sum + item
})