搜索

首页  >  问答  >  正文

javascript - 弱弱的问一下,_map(data,(item,i)=>{})与_each(data,(item,i)=>{})里的i是干什么的?

如题,可以不写吗

世界只因有你世界只因有你2819 天前587

全部回复(3)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-16 13:41:53

    i是遍历元素的索引。
    如原生的mapforEach方法。

    ['a', 'b', 'c'].map(function(item, i, array){
        console.log(item, i, array);
    });
    ['a', 'b', 'c'].forEach(function(item, i, array){
        console.log(item, i, array);
    });

    item为当前项,即当前遍历的元素本身。分别为a, b, c
    i为元素处于数组中的下标或索引。分别为 0, 1, 2
    array为数组本身。值为['a', 'b', 'c']

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 13:41:53

    i就是item在data中对应的index,可以省略

    回复
    0
  • 迷茫

    迷茫2017-05-16 13:41:53

    参考原生的 map , itemdata 项的引用, i 代表索引. i 可以省略的

    举个例子:

    var arr = [1,2,3];
    arr.map(function(item){
      if(item == 2){
        item = 100; // arr 是不会变成[1,100,3],因为 item 改变不影响原数组,它只是个引用
      }
    })

    如果像下面这样,就会改变 arr 了

    arr = arr.map(function(item){
      if(item == 2){
        item = 100; 
      }
      return item
    })
    

    回复
    0
  • 取消回复