入力に基づいて配列から特定の数の要素を削除する関数を記述しようとしています。下のコードでわかるように、配列をスプライスして新しい配列を返すことを選択しています。JavaScript Array.prototype.splice()使用法
function slasher(arr, howMany) {
var newArray = arr.splice(0, howMany);
return newArray;
}
slasher([1, 2, 3], 2);
しかし、コンソールが私に[1]、[2]のテストの出力を与える:私はここで私が今持っているコードがあるhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
でこれについて読みました。
私はMozillaで読んだドキュメントに基づいて[3]の出力を期待していました。
更新:コメントを読んだ後、スプライス()が実際に達成していることを誤解していることがわかりました。
* *を見てください「私はの出力は、[3]私はMozillaので読むのドキュメントに基づいて期待していました。」再度ドキュメンテーションを読んでください。 ''返り値:削除された要素を含む配列」* '1'と' 2'を削除したので、 '[1,2]'を返すようになりました値。あなたはそれが保持された要素を持つ新しい配列を返すということをどこで読んだのですか? –
元の配列 'return arr'を返します。 'var newArray ='は必要ありません。 – guest271314
@FelixKlingありがとう、私はドキュメントを読んだが、私は誤解した。彼らは私が予想していたように見せかける例を与えました。 arrを返すようにコードを変更したとき。出来た。ありがとう。 – davidtaylorjr