ようこそ:)
私はまた、無料のコードキャンプフロントエンド認証を行っの一環として、この作業を経てきました。
https://www.freecodecamp.com/challenges/stand-in-line引数として配列(arr
)及び数 (item
)をとる関数nextInLine
を書く:参考のために、これは課題です。番号を配列の末尾に追加し、次に 配列の最初の要素を削除します。 nextInLine関数は、次に削除された要素を返します。
ソリューションが望ましい結果をもたらす一方で、変数(firstItem
)を宣言せずにこのタスクを解決することができます。私はここであなたのための説明を用意し、デモました:http://codepen.io/PiotrBerebecki/pen/xEYbgv
重要な事はそれを理解することです:
シフト()メソッドは、配列からとリターンを最初の要素を削除します その要素。このメソッドは、配列の長さを変更します。アウトと https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
function nextInLine(arr, item) {
// arr is now: [5,6,7,8,9]
arr.push(item); // add 10 to the and of array
// arr is now: [5,6,7,8,9,10]
return arr.shift(); // remove first element of arr (5)
// and then return this first element (5),
// arr is now [6,7,8,9,10]
}
var testArr = [5,6,7,8,9];
console.log(nextInLine(testArr, 10)); // 5
console.log("After: " + JSON.stringify(testArr)); // After: [6,7,8,9,10]
シフトが配列に対して行うことをお読みになることをお勧めします。 – Eric
'firstItem'を作成する必要はありません。あなたは単にarr.shift()を返すことができます。したがって、 'arr.push'は配列の最後に項目を追加し、' shift'は配列の先頭にある項目を削除します。 –
はい、あなたは 'return arr.shift(arr);を実行している可能性があります。 – Makyen