【问题标题】:how to push an element at index 0 of an array [duplicate]如何在数组的索引0处推送元素[重复]
【发布时间】:2017-05-21 02:29:38
【问题描述】:

我有这样的情况,

我有 2 个array1 作为array1 = ["fruit","vegetables"];

array2 = [["apple","banana"],["tomato"]]; // index 0:represent fruit i,e (["apple","banana"]), index 1: vegetables i,e (["tomato"])

我的问题:我怎样才能把push itemarray1变成这样我的array2

[["fruit","apple","banana"],["vegetables","tomato"]];

我可以确定index:0category

我的data structure是这两个arrayarray1 = ["fruit","vegetables"];array2 = [["apple","banana"],["tomato"]];

如果我能得到key valuearray 那对我有好处。

我的样本数据:

array1 = ["fruit","vegetables"];


array2 = [["apple","banana"],["tomato"]]; //expected output :[["fruit","apple","banana"],["vegetables","tomato"]];

【问题讨论】:

    标签: javascript jquery node.js


    【解决方案1】:

    使用Array#unshift 方法。

    var array1 = ["fruit", "vegetables"],
      array2 = [
        ["apple", "banana"],
        ["tomato"]
      ];
    
    var array3 = array2.map(function(v, i) { // iterate over the array to generate the new array
      var arr = v.slice(); // copy the array
      arr.unshift(array1[i]) // insert element at beginning 
      return arr; /// return generated array
    });
    
    console.log(array3)

    更新:如果您不想创建新数组,则可以避免复制部分。

    var array1 = ["fruit", "vegetables"],
      array2 = [
        ["apple", "banana"],
        ["tomato"]
      ];
    
    array2.forEach(function(v, i) { // iterate over the array 
      v.unshift(array1[i]) // insert element at beginning 
    });
    
    console.log(array2)

    ES6 arrow function

    var array1 = ["fruit", "vegetables"],
      array2 = [
        ["apple", "banana"],
        ["tomato"]
      ];
    
    array2.forEach((v, i) => v.unshift(array1[i]));
    
    console.log(array2)

    【讨论】:

      【解决方案2】:

      试试这个Array.map()Array.unshift() .unshift() 将数据推入数组[0]index 位置。

      array1 = ["fruit","vegetables"];
      array2 = [["apple","banana"],["tomato"]]; 
      
      array2.map((a,i) =>  a.unshift(array1[i]))
      console.log(array2)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-07
        • 2022-01-20
        • 1970-01-01
        • 2011-12-30
        • 2012-07-10
        • 2015-04-18
        • 2013-08-11
        • 1970-01-01
        相关资源
        最近更新 更多