欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js的map、flatMap和find、filter的使用詳解

 更新時間:2024年12月26日 15:09:45   作者:qq_49077729  
map和flatMap都是返回一個新數(shù)組,map不會改變數(shù)組長度,flatMap可以改變長度,find和filter都是過濾操作,find只會返回第一個找到的值,而filter會返回全部符合要求的對象

js的map、flatMap和find、filter的使用

map和flatMap 都是返回一個新數(shù)組,map不會改變數(shù)組長度,flatMap可以改變長度

就是在數(shù)組上加工變成一個新的數(shù)組,切不會改變數(shù)組長度,不滿足條件的返回undefined

map使用和flatMap是一樣的

結(jié)果也是一樣

let arr = [1, 2, 3, 4, 5, 6];
let res = arr.map((e) => {
  if (e % 2 == 0) {
    return e;
  }
});
console.log("res===[undefined, 2, undefined, 4, undefined, 6]",res);
let res2 = arr.map((e) => {
  return e * 2
});
console.log("res2===[2, 4, 6, 8, 10, 12]",res2);
//簡介方式
let res3 = arr.map((e) =>  e * 2);
console.log("res3===[2, 4, 6, 8, 10, 12]",res3)

flatMap會將結(jié)果數(shù)組扁平化一層

就是返回的結(jié)果是一個數(shù)組,就會將數(shù)組去掉后返回,假如返回的不是數(shù)組,會變成數(shù)組在扁平化一層在返回

let arr = [1, 2, 3, 4, 5, 6];
let res = arr.flatMap((e) => {
  if (e % 2 == 0) {
    return e;
  }
});
console.log("res===[undefined, 2, undefined, 4, undefined, 6]");
let res2 = arr.flatMap((e) => {
  return e * 2
});
console.log("res2===[2, 4, 6, 8, 10, 12]");


let res3 = arr.flatMap((e) =>  {
  return [e,e * 2]
}
);
console.log("res3=== [1, 2, 2, 4, 3, 6, 4, 8, 5, 10, 6, 12]",res3)

find 、filter 都是過濾操作

找到符合要求的對象返回,區(qū)別在于find只會返回第一個找到的值,而filter會返回全部符合要求的對象

let res4 = arr.find((e) =>  {
  return e % 2 === 0
})
console.log("res4=== [2]",res4)

let res5 = arr.filter((e) =>  {
  return e % 2 === 0
})
console.log("res5=== [2,4,6]",res5)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論