あなたはfor
ループせずにこれを書き換えることができ、しかし、あなたは何らかの種類のループを使用しなければなりません(あなたは複数の項目を扱っています、それは必要です)。あなたはarguments
が本当の配列ではないという事実を回避する必要があり、ES6なければ
function append(...args) {
return array.concat(args);
}
:あなたはES6やバベルへのアクセス権を持っている場合は
、私のようなものを使用します。 Array
プロトタイプを使って配列メソッドにアクセスすることで、ほとんどの配列メソッドを適用することができます。これらのどちらもグローバルarray
を変更しますが、そのことができます組み合わせた値で新しい配列を返すことに注意して
function append() {
var args = Array.prototype.map.call(arguments, function (it) {
return it;
});
return array.concat(args);
}
ベア:配列にarguments
を変換すると十分に簡単です、あなたは2をconcat
することができます単独で使用するか、array
に割り当ててください。これはarray = append(...)
に喜んでいる場合は、push
で作業しようとするよりもやや簡単で堅牢です。
'return [] .slice。call(arguments); ' – jcubic
' arguments.forEach(function(arg){...}) 'を試すことができます。まだループが、私の意見では少しクリーナー。 –
[Javascriptのプッシュ配列の値を別の配列にプッシュする](0120-17753-1) – Phil