JS配列トラバーサル方法

forEachの()

  • フォーマットを書きます:
  • 特長:通常のトラバーサルを。戻り値のための要件はありません。
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r1=arr.forEach(v=>{
       console.log("每一次迭代:",v);
       return 1;
});
console.log("迭代完成后的返回值:",r1);//不论return后是什么都是undefined,说明返回值对他没有任何影响

地図()

  • フォーマットを書きます:
  • 特徴:マッピング、プロのペア。元の配列の戻り値を新しい配列にマッピングされています
  • 共通:map().join()
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r2 = arr.map(v => {
       console.log("每一次迭代:", v);
       //对比
       return 1;    //返回一个新数组,元素值全部为1
       return 1 + v;    //返回一个新数组,元素值为遍历出的每个元素加1
       return `<li>${v}<li>`;//可通过map().join("")无缝拼接,得到一个字符串,使用innerHTML渲染即可
    });
console.log("迭代完成后的返回值:", r2);

フィルタ()

  • フォーマットを書きます:
  • 特徴:フィルタリング、アレイの状態に戻り(決意の結果が真である)の値。あなたが満たされていない場合、それは空の配列を返します。
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r3 = arr.filter(v => {
console.log("每一次迭代:", v);
     return 0;//false  写死了返回结果,每一个都不满足,返回空数组
     return 1;//true   每一个都满足,返回一个存放所有元素的新数组
     return v>7;//[8,9,10]  根据return的对比结果来进行筛选,将结果为true的元素返回为一个新数组
 });
console.log("迭代完成后的返回值:", r3);

いくつか()

  • フォーマットを書きます:
  • 機能:判決。
  • 特長:出会いがあり、それはtrueを返し、歩行を停止します。のみfalseを返し満足していません。
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r4 = arr.some(v => {
    console.log("每一次迭代:", v);
    //对比
    return 1;//true 只遍历一次,因为return被写死,1就是true,代表找到了满足要求的数据,既然找到了,就不会继续遍历了
    return v>7;//返回9,遍历结束后的返回值为true(有一个满足就返回true)
});
console.log("迭代完成后的返回值:", r4);

すべての()

  • そして、いくつかの方法の比較研究。

  • フォーマットを書きます:
  • 機能:裁判官
  • 特長:各要素を配列満たすにtrueを返す前の状態を。それは見ている偽とストップを返し、満たされていません。

let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r5 = arr.every(v => {
     console.log("每一次迭代:", v);
     //对比
     return 1;//true
     return 0;//false  找到第一个不满足的就返回false,不会继续往下执行
     return v<7;//遍历到7
});
console.log("迭代完成后的返回值:", r5);

削減()

  • フォーマットを書きます:
  • 機能:反復更新
  • 特長:元の値があります。あなたはリターンによって計算結果に得ることができます。
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r6 = arr.reduce((pre,cur) => {
    console.log("每一次迭代:", pre,cur);
    return pre+cur;//返回值会作为下一次的pre,与cur进行运算,迭代更新
},0);
console.log("迭代完成后的返回值:", r6);

おすすめ

転載: www.cnblogs.com/Lotus3904/p/12380406.html