1. for in(array, obj)
- 最基本的数组遍历
let arr = [1,2,3,4,5,6]
for(let i in arr){
console.log(arr[i])
console.log(typeof(i))
}
打印结果:
注意,这里的i类型为string!
2. for of(array)
let arr = [1,2,3,4,5,6]
for(let i of arr){
console.log(i)
}
打印结果:
3. for each
- 简易版的for循环
let arr = [1,2,3,4,5,6]
let brr = arr.forEach((item,index,arr)=>{
console.log(item, index, arr)
})
打印结果:
4. map
- 给定一个函数,需要返回值,将其其返回值组成一个新的数组,不影响原数组
let arr = [1,2,3,4,5,6]
let brr = arr.map((item,index,arr)=>{
return item + 1
})
console.log(brr) //[2,3,4,5,6,7]
5. filter
- 给定一个函数,对每一项进行筛选,组成一个新数组重新返回
let arr = [1,2,3,4,5,6]
let brr = arr.filter((item,index,arr)=>{
return item > 2
})
console.log(brr) //[3,4,5,6]
6. some
- 传入的函数对数组重的某一项返回true,这个方法才返回true
let arr = [1,2,3,4,5,6]
let flag = arr.some((item,index,arr)=>{
return item > 5
})
console.log(flag) //true
7. every
- 传入的函数必须对每一项都返回true,这个方法才返回true
let arr = [1,2,3,4,5,6]
let flag = arr.every((item,index,arr)=>{
return item > 0
})
console.log(flag) //true
8. includes
- 判断数组是否包含某一项,返回布尔值
let arr = [1,2,3,4,5]
let flag1 = arr.includes(6) //false
console.log(flag1)
let flag2 = arr.includes(5) //true
console.log(flag2)
9. fill
fill() 方法用于将一个固定值替换数组的元素。
[1, 2, 3].fill(4); // [4, 4, 4]
[1, 2, 3].fill(4, 1); // [1, 4, 4]
[1, 2, 3].fill(4, 1, 2); // [1, 4, 3]
[1, 2, 3].fill(4, 1, 1); // [1, 2, 3]
[1, 2, 3].fill(4, 3, 3); // [1, 2, 3]
[1, 2, 3].fill(4, -3, -2); // [4, 2, 3]
[1, 2, 3].fill(4, NaN, NaN); // [1, 2, 3]
[1, 2, 3].fill(4, 3, 5); // [1, 2, 3]
Array(3).fill(4); // [4, 4, 4]
[].fill.call({ length: 3 }, 4); // {0: 4, 1: 4, 2: 4, length: 3}
// Objects by reference.
var arr = Array(3).fill({}) // [{}, {}, {}];
// 需要注意如果fill的参数为引用类型,会导致都执行都一个引用类型
// 如 arr[0] === arr[1] 为true
arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]