-
forEach():不能使用return终止循环,使用break会报错
// let arr = [1,2,3,4,5,6] // //对数组进行循环,相当于for循环,没有返回值 // let result = arr.forEach((item,index,arr)=>{ // console.log(item); // console.log(index); // console.log(arr) // return item // }) // console.log(result) -
map():可以使用return,返回一个新的数组,还可以进行计算
// let arr2 = ['香蕉','苹果','柠檬'] // let result2 = arr2.map((item,index,arr)=>{ // let str = index + item + index; // return str; // }) // console.log(result2) -
filter():将想要的内容筛选出来,获得想要的数组
// let arr3 = [1,2,3,4,5,6,7] // let result3 = arr3.filter((item,index)=>{ // if(item % 2 == 0){ // return true // }else{ // return false // } // }) // console.log(result3) -
reduce():对数组进行整合,对每一项进行整合后,返回一个内容
// let arr4 = [1,2,3,4,5,6,7,8,9]; // let result4 = arr4.reduce((pre,next,index)=>{ // console.log(pre); // console.log(next); // console.log(index); // return pre + next; // },0) // console.log(result4) -
for...of与for...in:for...of可以循环数组和字符串,但是不能循环对象,可以break,for...in可以循环遍历对象
// let obj = { // name: "老李", // type: "聪明", // content: "web" // }, // for(key in obj ){ // console.log("key: " + key + ";value:" + obj[key]) // } //let arr5 = ["老李","老韩","老赵"] //for(let item of arr5) { // console.log(item) } -
some():遍历数组的每一个元素,如果返回true就终止循环
let array = [1, 2, 3, 4]; let temp = array.some((item, index, array) => { return item > 5; }); console.log(temp); // true -
every():遍历数组的每一项,如果都是true,就返回true,只要有一个false,就返回false
let array = [1, 2, 3, 4]; let res = array.every((item, index, array) => { return item > 1; }); console.log(res); // false; -
总结
some()和every()返回的是true和false,map()和filter()返回一个新数组,不同的是map()可以进行计算,filter()可以进行筛选。reduce()可以进行数组前后两项的计算,返回最终的结果。forEach()的话无返回值,for...in可以遍历对象,for...of不可以。