2017-01-31 4 views
0

Ich habe ein Array wieReduzierung Schlüsselwerte eines Arrays

var myArray = [{ques: 1, ans: "A"}, 
       {ques: 2, ans: "D"}, 
       {ques: 3, ans: "C"}]; 

ich es als neues Array konvertieren möchten wie:

var newArray= [{1: "A"}, {2: "D"}, {3: "C"}] 

Bitte helfen Sie mir, es zu erreichen.

AKTUALISIEREN Ich habe festgestellt, dass die Arbeit mit newArray wirklich schwierig ist.OOPS! wäre es sinnvoll sein, es zu

var newArray=[1: "A", 2: "D", 3: "C"] 

zu konvertieren Bitte helfen Sie mir darin.

+2

die tatsächlich härter * * wäre damit zu arbeiten. Es wäre etwas sinnvoll, es auf "{1: A", 2: "B", 3: "C"} 'zu reduzieren, aber dieses Zwischenprodukt ist einfach das schlechteste der beiden Welten. – deceze

+0

Warum möchten Sie es in Objekte mit inkonsistenten Eigenschaftsnamen konvertieren? – charlietfl

+0

@charlietfl Ich hv realisierte es :) –

Antwort

3

Verwenden map Funktion

const mappedArr = myArray.map(elem => { 
    return {[elem.ques] : elem.ans}; 
}) 
4

Array.prototype.map() Funktion sollte die Arbeit machen:

var myArray = [{ques: 1, ans: "A"}, {ques: 2, ans: "D"}, {ques: 3, ans: "C"}], 
 
    newArr = myArray.map(function (o) { 
 
     var newObj = {}; 
 
     newObj[o.ques] = o.ans; 
 
     return newObj; 
 
    }); 
 

 
console.log(newArr);

2

Sie Array#map mit einem computed property nutzen könnten.

var myArray = [{ ques: 1, ans: "A" }, { ques: 2, ans: "D" }, { ques: 3, ans: "C" }], 
 
    newArray = myArray.map(a => ({ [a.ques]: a.ans })); 
 

 
console.log(newArray);

0

Nutzungskarte jedes Element des Arrays zu transformieren:

var myArray = [ {ques: 1, ans: "A"}, 
       {ques: 2, ans: "D"}, 
       {ques: 3, ans: "C"}]; 

var newArray = myArray.map(function(it) { 
    var ret = {}; 
    ret[it.ques] = it.ans; 
    return ret; 
}); 
+1

Willkommen bei Stack Overflow! Während Sie das Problem dieses Benutzers möglicherweise gelöst haben, sind Code-Only-Antworten für Benutzer, die in Zukunft auf diese Frage kommen, nicht sehr hilfreich. Bitte bearbeiten Sie Ihre Antwort, um zu erklären, warum Ihr Code das ursprüngliche Problem löst. –

Verwandte Themen