map()
一. map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,并没有改变原来的数组
map()方法按照原数组元素顺序依次处理元素
注意: map() 不会对空数组进行检测
注意:map() 不会改变原始数组
二. map()有返回值
map() 和 forEach都不会对空数组进行检测
map() 不会改变原始数组
三. map()函数,遍历数组每个元素 并回调操作 需要返回值 返回值组成新的数组 原数组不变
每个元素都是回调函数返回的值
四. map有眏射,即支出return相当于原数组克隆一份 把克隆的每一项改变 并返回一个新数组 ,这个新数组的每一个元素都是原数组元素执行了回调函数之后的返回值 也不影响原数组
let arr = [1, 2, 3, 4];
let newArr = arr.map(item => {
return item * 2;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr); // [2, 4, 6, 8] 返回新数组
filter()
一. filter方法的return只有两种情况, true/fasle ;如果返回true就保留这个数据,如果返回false 就删除这个数据 也是返回新数组,不改变原数组
二. 将所有元素进行判断,将满足条件的元素作为一个新的数组返回 , 原数组不变
注意:filter()不会对空数组进行检测
注意: filter()不会改变原始数组
三. 接收一个回调函数作为参数 , 返回值是一个新数组
四.filter()过滤,即对数组元素的一个条件筛选 他提供一个回调函数
五. filter ,过滤即对数组元素的一个条件筛选 他提供一个回调函数 ,参数依次为处于当前循环的元素 , 该元素下标 数组本身 三者均可选
默认返回一个数组
原数组的元素执行了 回调函数之后返回值若为true 则会将这个元素放入返回的数组中
filter方法不改变原数组
var arr = [1, 2, 3, 4, 5];
let ary = arr.filter((item, index) => {
return item > 3
})
console.log(ary);//[4,5]
every()
一. 将所有元素进行判断 返回一个布尔值 原数组不变
如果所有元素都满足判断条件 , 则返回true , 否则返回false
注意:every()不会对空数组进行检测
注意:every()不会改变原始数组
二. 简单的说就是如果回调函数每次返回的值都是true的话,则every()返回true ,否则为false
三. 如果每一项返回 true ,则返回true (全部符合条件),否则返回false
四. every()是对数组中每一项运行给定函数 , 如果该函数的每一项返回 true,则最后返回 true
五. 数组的每一个元素都会执行回调函数 , 当返回值全部为true时 ,every方法会返回true,只要有一个为false ,every方法返回false ,
不改变原数组
let arr = [1, 2, 3, 4];
let newArr1 = arr.every(item => {
return item > 2;
});
let newArr2 = arr.every(item => {
return item < 5;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr1); // false
console.log(newArr2); // true