我正在尝试编写一个函数,根据输入从数组中删除一定数量的元素。正如您在下面的代码中看到的,我选择拼接数组以返回一个新数组。我在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
了解了这个问题以下是我现在的代码:
function slasher(arr, howMany) {
var newArray = arr.splice(0, howMany);
return newArray;
}
slasher([1, 2, 3], 2);
然而,控制台为我提供了测试[1,2]的输出。
根据我在Mozilla上阅读的文档,我期待输出[3]。
更新:阅读评论后,我意识到我误解了splice()实际完成的内容。
答案 0 :(得分:2)
要实现输出,您需要稍微修改代码。
.splice()
函数会返回已删除的元素,因为您可以阅读here。
要获得您希望修改代码的行为,请执行以下操作:
function slasher(arr, howMany) {
arr.splice(0, howMany);
return arr;
}
slasher([1, 2, 3], 2);
答案 1 :(得分:1)
splice
将返回从数组中删除的元素,而原始数组将被修改。
答案 2 :(得分:0)
阅读评论后,我发现了自己的错误。如果将输出返回请求更改为
return arr;
代码工作正常。
完整的工作代码是:
function slasher(arr, howMany) {
var newArray = arr.splice(0, howMany);
return arr;
}