Das folgende Code-Snippet liefert unerwartete (zumindest für mich) Ergebnisse.Das Einschieben in ein Array führt zu einem unerwarteten Ergebnis
var input = [['one','two'],['three','four']];
var doc = {};
var output1 = [], output2 = [];
input.forEach(function(x){
doc.firstValue = x[0];
doc.secondValue = x[1];
output1.push({firstValue:x[0],secondValue:x[1]});
output2.push(doc);
})
$('#output1').html(JSON.stringify(output1));
$('#output2').html(JSON.stringify(output2));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
output1 is:
<div id='output1'></div>
output2 is:
<div id='output2'></div>
Die Fragen sind:
1) warum output1 nicht ähnlich sieht nach OUTPUT2 (während ihrer Entstehung sehr ähnlich ist)?
2) gibt es eine Möglichkeit, in array wie array.push (obj) (die Art, wie output2 gefüllt ist) zu drücken und das Ergebnis wie output1 zu erhalten (alle Werte aus dem ursprünglichen Array wären da)?
Ihre Frage ist über Ihre Absichten sehr unklar. Können Sie bitte die Ausgabe bereitstellen? – ndugger
@ndugger Führen Sie das Code-Snippet aus, um die Ausgabe anzuzeigen –