添加 return 关键字,尽管函数内的函数已经返回值[关闭]

问题描述 投票:0回答:0
function nextInLine(arr, item) {
  arr.push(item);
  arr.shift();
}

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

console.log("Before: " + JSON.stringify(testArr));
console.log(nextInLine(testArr, 6));
console.log("After: " + JSON.stringify(testArr));

显示的输出是

3
Before: [1,2,3,4,5]
undefined
After: [2,3,4,5,6]

我知道

arr.shift()
删除数组的第一个元素并返回从数组中删除的值。那么为什么需要在
return
之前再次添加
arr.shift()
关键字才能让整个函数返回被移除的元素。
arr.shift()
不应该足够吗,因为它本身已经返回了被删除的值?为什么前面又要加一个return关键字呢?

下面的代码在

arr.shift()
之前有 return 关键字,效果非常好。

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

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

console.log("Before: " + JSON.stringify(testArr));
console.log(nextInLine(testArr, 6));
console.log("After: " + JSON.stringify(testArr));

显示的输出如下,其中明确返回了元素“1”。

3
Before: [1,2,3,4,5]
1
After: [2,3,4,5,6]
javascript arrays json function return
© www.soinside.com 2019 - 2024. All rights reserved.