2017-02-15 5 views
0

配列から取り出した値をarr.shift()から取得しようとしていますが、その値を返す必要があります。この?.shift()を使用して配列から取り除かれた値を返す方法

function nextInLine(arr, item) { 
    // Your code here 
    arr.push(item); 
    arr.shift(); 

    return arr; // Change this line 
} 

// Test Setup 
var testArr = [1, 2, 3, 4, 5]; 

// Display Code 
console.log("Before: " + JSON.stringify(testArr)); 
console.log(nextInLine(testArr, 6)); // Modify this line to test 
console.log("After: " + JSON.stringify(testArr)); 
+1

'return arr.shift()'は1行で行います。あなたの現在のコードでは、 '.shift()'の結果を変数に格納してから、変数 –

+1

を返す必要があります。関数から返すか、配列に返しますか? –

答えて

1

だけ戻す可変

function nextInLine(arr, item) { 
    // Your code here 
    arr.push(item); 
    var tmp = arr.shift(); 

    return tmp; 
} 

又は代替

function nextInLine(arr, item) { 
    // Your code here 
    arr.push(item); 

    return arr.shift(); 
} 
3

に値を割り当てるarr.shift();

例:

function nextInLine(arr, item) { 
    arr.push(item); 
    return arr.shift(); 
} 
0

デフォルトでは、配列シフトは配列の最初の要素を削除し、同じものを返します。したがって、以前の回答で述べたように、 "return arr.shift()"は配列から削除された要素を返します。

注意:shift()はarrayのpop()関数と似ています。唯一の違いは、popは配列の最後のインデックス(配列-1の長さ)で要素を削除し、shiftは最初のインデックス(0)で要素を削除する点です。しかし、popとshiftは、削除された要素を返します。

関連する問題