代码之家  ›  专栏  ›  技术社区  ›  arunmmanoharan

一旦循环结束,重新开始循环的迭代-JS

  •  1
  • arunmmanoharan  · 技术社区  · 7 年前

    我需要把数组的第一个元素映射到数组中对象的第一个元素,以此类推。

    两个数组的长度都可以是可变的,循环结束后应该从头开始。

    这是我的密码。

    const colors = ['#7cb5ec', '#434348', '#90ed7d', '#f7a35c']
    
    const obj = [{
        name: 'Toyota'
      },
      {
        name: 'Honda'
      },
      {
        name: 'Buick'
      },
      {
        name: 'Chevy'
      },
      {
        name: 'Ford'
      },
      {
        name: 'Toyota'
      }
    ]
    
    _.forEach(obj, (item, index) => {
      item.color = colors[index]
    })
    
    console.log(obj)
    <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

    所以对于福特和丰田来说,应该从第一个开始。请给我建议。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Mohammad Usman    7 年前

    % 从中启动数组的运算符 0

    const colors = ['#7cb5ec', '#434348', '#90ed7d', '#f7a35c']
    
    const obj = [
      {name: 'Toyota'}, {name: 'Honda'}, {name: 'Buick'},
      {name: 'Chevy'}, {name: 'Ford'}, {name: 'Toyota'}
    ];
    
    _.forEach(obj, (item, index) => {
      item.color = colors[index % colors.length]
    });
    
    console.log(obj);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>