【问题标题】:javascript replace first array value with second array value. First array length is 2 and second one length is 7javascript 用第二个数组值替换第一个数组值。第一个数组长度为 2,第二个数组长度为 7
【发布时间】:2017-09-25 09:03:53
【问题描述】:

我有两个数组 a 和 b,我需要用 a 替换数组 b 的值。

a= [1,2];
b=[1,2,3,4,5,6,7];

预期的输出应该是这样的

[1,2,1,2,1,2,1]

【问题讨论】:

    标签: javascript jquery arrays arraylist mapreduce


    【解决方案1】:

    您可以获取目标数组的索引并将源数组的值与给定长度的索引和余数运算符映射。

    var a = [1, 2],
        b = [1, 2, 3, 4, 5, 6, 7];
        
    b = b.map((_, i) => a[i % a.length]);
    
    console.log(b);

    【讨论】:

      【解决方案2】:

      简单

      var output = b.map( function(item, index){
        return a[ index % a.length ]
      });
      

      演示

      var a= [1,2];
      var b=[1,2,3,4,5,6,7];
      
      var output = b.map( function(item, index){
        return a[ index % a.length ]
      });
      
      console.log( JSON.stringify( output ) )

      【讨论】:

        【解决方案3】:

        您可以使用 forEach 来更改数组并取模以获得正确的索引。如果你想要一个新的,你也可以在数组上使用 map。

        var a = [1,2]
        var b = [1,2,3,4,5,6,7]
        var l = a.length
        b.forEach((el,idx,arr) => {
          arr[idx] = a[idx%l]
        })
        
        console.log(b)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-05-02
          • 2010-12-07
          • 1970-01-01
          • 2017-09-08
          • 1970-01-01
          • 2020-05-08
          • 2012-03-31
          相关资源
          最近更新 更多