map,filter,foreach的区别和用法

一、map()

:元数组被映射成新数组

语法:array.map(callback,[ thisObject]);

callback(回调函数)的参数也类似:

[].map(function(value, index, array) {
     
    // ...
})

;

;例:
map,filter,foreach的区别和用法_第1张图片

二、filter()

filter()方法
filter指数组filter后,返回过滤后的新数组。用法跟map极为相似:
filter的callback函数需要返回布尔值true或false. 如果为true则表示通过啦!如果为false则失败。
语法 :array.filter(callback,[ thisObject]);
例:从数组中提取奇数

var data = [1, 4, 7, 12, 21];
var result = data.filter((value)=> {
     
return value % 2 === 1;
});
console.log(result)

输出1,7,21

三、forEach()

forEach() 方法让数组的每一项都执行一次给定的函数。

语法 array.forEach(callback[, thisArg])

var arr = [
  {
     
    id:1,
    name: "张三"
  }
]
arr.forEach(arr => {
     
  return arr
})

filter与map结合使用

if (this.userList) {
     
      this.userList.filter(user => user.checked).map(user => {
     
        this.formService.userCodeList.add(user.code);
      });
    }

你可能感兴趣的:(angular)