0
var rarr = [];
var reverseArray = function(arr) {
  if(arr[0]) {
     rarr.push(arr[arr.length-1]);
     arr.pop();
     reverseArray(arr);
  } else {
    return rarr;
  }
}

console.log(reverseArray(["A", "B", "C"]));

rarr のデバッグ値は最後に ['C','B','A'] ですが、代わりに undefined を返しています。前もって感謝します。

4

2 に答える 2

1

rarr のデバッグ値は最後に ['C','B','A'] ですが、代わりに undefined を返しています

再帰呼び出しによって返される値を返していません

交換

reverseArray(arr);

return reverseArray(arr);

または単に

console.log(["A", "B", "C"].reverse());
于 2016-04-25T13:03:21.830 に答える
1

あなたはあなたのifでリターンを忘れました...これを試してください:

var rarr = [];
var reverseArray = function(arr) {
  if(arr[0]) {
     rarr.push(arr[arr.length-1]);
     arr.pop();
     return reverseArray(arr);
  } else {
    return rarr;
  }
}

console.log(reverseArray(["A", "B", "C"]));
于 2016-04-25T13:04:11.187 に答える