Wie iteriere ich durch ein vorhandenes Array und füge die Elemente einem neuen Array hinzu?
var array = [];
forEach( calendars, function (item, index) {
array[] = item.id
}, done );
function done(){
console.log(array);
}
Der obige Code würde normalerweise in JS funktionieren, nicht sicher über die Alternative in node js
. Ich habe es versucht .push
und .splice
aber keiner hat funktioniert.
javascript
node.js
Ben Scarberry
quelle
quelle
array[] = item.id
? Das würde einen Syntaxfehler in normalem js erzeugen.Antworten:
Weitere Informationen zur genauen Syntax für Array-Methoden finden Sie in der Array-API von Javascript . Das Ändern Ihres Codes zur Verwendung der richtigen Syntax wäre:
var array = []; calendars.forEach(function(item) { array.push(item.id); }); console.log(array);
Sie können die
map()
Methode auch verwenden , um ein Array zu generieren, das mit den Ergebnissen des Aufrufs der angegebenen Funktion für jedes Element gefüllt ist. Etwas wie:var array = calendars.map(function(item) { return item.id; }); console.log(array);
Und seit ECMAScript 2015 veröffentlicht wurde, sehen Sie möglicherweise Beispiele, die die Syntax zum Erstellen von Funktionen verwenden
let
oderconst
anstelle vonvar
und=>
verwenden. Folgendes entspricht dem vorherigen Beispiel (außer dass es in älteren Knotenversionen möglicherweise nicht unterstützt wird):let array = calendars.map(item => item.id); console.log(array);
quelle
Hier ist ein Beispiel, das Ihnen einige Hinweise geben kann, wie Sie ein vorhandenes Array durchlaufen und Elemente zu einem neuen Array hinzufügen können. Ich verwende das UnderscoreJS-Modul als Dienstprogrammdatei.
Sie können herunterladen von ( https://npmjs.org/package/underscore )
Hier ist ein kleiner Ausschnitt, um zu demonstrieren, wie Sie es tun können.
var _ = require("underscore"); var calendars = [1, "String", {}, 1.1, true], newArray = []; _.each(calendars, function (item, index) { newArray.push(item); }); console.log(newArray);
quelle
var array = []; //length array now = 0 array[array.length] = 'hello'; //length array now = 1 // 0 //array = ['hello'];//length = 1
quelle