ES5、ES6的数组循环

307 阅读1分钟

数组的循环

1.for循环

for(var i = 0; i < 100; i++){
console.log(i) // 1 2 3 4 5 6
}

2.while循环

var i = 0;
while (i<5)
{
    console.log(i) //0 1 2 3 4
    i++;
}

3.arr.forEach()

let arr = [1,2,3,4,5]
arr.forEach((item,index)=>{
console.log(item,index)// item 值 index键
})

4.arr.map()

let arr = [1,2,3,4,5]
let arr2 = arr.forEach((item,index)=>{
let item2 = ""
item2 = item + 1;
return item2;
})
consoel.log(arr2) //[2,3,4,5,6]

5.arr.filter() 过滤出符合条件的值

let arr = [1,2,3,4,5,6]
let arr2 = arr.filter((item,index) => {
return item%2 === 0
})
console.log(arr2) // [2,4,6]

6.arr.some() 只要有一项符合条件返回true 都不符合返回false

let arr = [1,2,3,4,5,6]
let arr2 = arr.some(item => {
return item > 4
})
console.log(arr2) // true
let arr3 = arr.some(item => {
return item > 7
})
console.log(arr3) // false

7.arr.every() 全部符合返回true 否则返回false和 arr.some()相反

let arr = [1,2,3,4,5,6]
let arr2 = arr.every(item => {
return item > 0
})
console.log(arr2) // true
let arr3 = arr.every(item => {
return item > 4
})
console.log(arr3) // false

8.arr.reduce()

let arr = [1,2,3,4,5,6]
let arr2 = arr.reduce((n,m,index,arr) => { //这里是求数组的和 n和m是从左到右
return n + m 
})

9.arr.reduceRight()

let arr = [1,2,3,4,5,6]
let arr2 = arr.reduceRight((n,m,index,arr) => { //这里是求数组的和 n和m是从右到左
return n + m
})

10. for of 循环

let arr = ['zhangsan','lisi','wangwu','zhaoliu']
for(let val of arr ){
console.log(val)
}
for(let index of arr.keys()){
console.log(index)
}
for(let item of arr.entries()){
console.log(item) //['zhangsan',0]...
}
for(let [val,index] of arr.entries()){
console.log(val,index) 
}
for(let val of arr.values()){
console.log(val)
}