du ohne for
Schleife neu schreiben kann, aber Sie müssen eine Schleife von einer Art verwenden (Sie arbeiten mit mehreren Elementen, es ist eine Notwendigkeit).
Wenn Sie Zugriff auf ES6 oder Babel haben, würde ich so etwas wie verwenden:
function append(...args) {
return array.concat(args);
}
Ohne ES6, Sie rund um die Tatsache arbeiten müssen, dass arguments
kein echtes Array ist. Sie können weiterhin die meisten Array-Methoden darauf anwenden, indem Sie über den Array
-Prototyp darauf zugreifen. arguments
in ein Array umzuwandeln ist einfach genug, dann können Sie die zwei concat
:
function append() {
var args = Array.prototype.map.call(arguments, function (it) {
return it;
});
return array.concat(args);
}
Beachten Sie, dass keines von beiden wird die globale array
, ändern aber wird ein neues Array mit den kombinierten Werte zurückgeben, können allein verwendet oder zurück zu array
zugewiesen werden. Dies ist etwas einfacher und robuster als der Versuch, mit push
zu arbeiten, wenn Sie zu array = append(...)
bereit sind.
'zurück [] .slice.call (Argumente); ' – jcubic
Sie können' arguments.forEach (function (arg) {...}) 'versuchen. Immer noch eine Schleife, aber meiner Meinung nach ein bisschen sauberer. –
Mögliches Duplikat von [Javascript push Array-Werte in ein anderes Array] (http://stackoverflow.com/questions/4156101/javascript-push-array-values-into-another-array) – Phil