2017-01-06 3 views
5

ich eine Situation wie diese haben,wie ein Element bei Index 0 eines Arrays drücken

ich habe 2 array1 als array1 = ["fruit","vegetables"];

und

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

meine Frage: Wie kann ich push item von array1, so dass meine array2 wie folgt aussehen

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

mit dem i kann als index:0category bestimmen.

MYdata structure ist diese 2 arrayarray1 = ["fruit","vegetables"]; UND array2 = [["apple","banana"],["tomato"]];

wenn ich in der Lage bin keyvalue Paare zu bekommen array das wäre gut für mich.

meine Beispieldaten:

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


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

Antwort

3

Verwenden Array#unshift Methode.

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)


UPDATE: Wenn Sie nicht ein neues Array erstellen möchten, dann können Sie den Kopierteil vermeiden.

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)

Mit ES6 arrow function:

var array1 = ["fruit", "vegetables"], 
 
    array2 = [ 
 
    ["apple", "banana"], 
 
    ["tomato"] 
 
    ]; 
 

 
array2.forEach((v, i) => v.unshift(array1[i])); 
 

 
console.log(array2)

+1

@balan gute Erklärung für jeden Schritt Dank viel – EaB

3

Versuchen Sie, diese Array.map() und Array.unshift(). unshift() Schieben Sie die Daten in Array [0]index Position.

array1 = ["fruit","vegetables"]; 
 
array2 = [["apple","banana"],["tomato"]]; 
 

 
array2.map((a,i) => a.unshift(array1[i])) 
 
console.log(array2)

Verwandte Themen