我有这种情况,
我有2 array1
作为array1 = ["fruit","vegetables"];
和
array2 = [["apple","banana"],["tomato"]]; // index 0:represent fruit i,e (["apple","banana"]), index 1: vegetables i,e (["tomato"])
我的问题:我如何push item
来自array1
,以使array2
看起来像这样
[["fruit","apple","banana"],["vegetables","tomato"]];
我可以将index:0
确定为category
。
我的 data structure
就是这两个array
array1 = ["fruit","vegetables"];
和array2 = [["apple","banana"],["tomato"]];
如果我能够获得对我有益的key
value
对array
。
我的样本数据:
array1 = ["fruit","vegetables"];
array2 = [["apple","banana"],["tomato"]]; //expected output :[["fruit","apple","banana"],["vegetables","tomato"]];
答案 0 :(得分:3)
使用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)

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

答案 1 :(得分: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)