参数:item(数组元素)、index(序列)、arr(数组本身);
arr.forEach()
遍历数组全部元素,利用回调函数对数组进行操作,自动遍历数组.length次数,且无法break中途跳出循环
因此不可控
不支持return操作输出,return只用于控制循环是否跳出当前循环
因此难操作成新数组,新值,故不作多分析
示例:
var arr = [1,2,3,4,5,] ;
arr.forEach(function(item,index){
console.log(item);
});
arr.map()— —更新数组
1、创建新数组
2、不改变原数组
3、输出的是return什么就输出什么新数组
4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
5、使用return操作输出,会循环数组每一项,并在回调函数中操作
示例:
var arr = [1,2,3,4,5] ;
var newArr = arr.map(function(item,index){
return item*2 ; //操作更新数组
})
console.log(newArr); //打印新数组
console.log(arr); //打印原数组,map()没有改变原数组
var newArr2 = newArr.map(function(item,index){
return `<li>${item}</li>` ;
//ES6语法,模版字符串,波浪号键,变量使用${}
//["<li>NaN</li>", "<li>NaN</li>", "<li>NaN</li>", "<li>NaN</li>", "<li>NaN</li>"]
})
console.log(newArr2.join('')); //数组.join(),把数组每一项连接起来,形成字符串string
console.log(newArr); //打印数组,map()没有改变原数组
arr.filter()
1、创建新数组
2、不改变原数组
3、输出的是判断为true的数组元素形成的新数组
4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)
5、使用return操作输出,会循环数组每一项,并在回调函数中操作
示例:
- var arr = [1,2,3,4,5] ;
var newArr = arr.filter(function(item,index){
return item>2&&item<5 ; //根据判断为true来遍历循环添加进新数组
})
console.log(newArr); //打印新数组
console.log(arr); //打印原数组,map()没有改变原数组