gpt4 book ai didi

javascript - 如何使用 .push 和 .shift 通过函数修改数组并对其进行排队

转载 作者:行者123 更新时间:2023-12-03 05:15:21 27 4
gpt4 key购买 nike

基本上,我需要知道如何通过队列移动数组,以便删除“1”并添加“6”。我已经知道要执行此操作,我需要使用 .push() 和 .shift () 元素。然而,我对如何做到这一点感到困惑。特别是如何构建代码以及告诉 .push() 和 .shift() 看什么。例如“blank.push();” 。我得到的最远的是在函数中包含“arr.push()”和“arr.shift()”,但所做的只是删除“1”。我还需要知道为什么以及我需要更改什么“return item;”行。下面是我提供的代码。

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

return item; // 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));

如果您想要做的只是提供一个有效的解决方案,我应该能够跟踪所有内容的面包屑,并找出它如何以及为何有效,但我非常感谢尽可能详细的解释这段代码中“//显示代码”行上方的所有内容都发生了。我有一些 JS 的工作知识,但你认为我知道的越少,我就越高兴。 :)

奖金回合:只是好奇,但如果有人能告诉我为什么“arr.shift()”是可接受的代码(无论其功能如何),但“item.push()”或“item.shift()”错误为“类型错误:item.push 不是一个函数。”对我来说,它们只是该函数的相似参数。为什么一个出错而另一个不出错? “arr”是否有一个我不知道的编程含义或特征?

最佳答案

function nextInLine(arr, item) {
var nextItem = arr.shift(); // This removes the first element of the array, being 1, and assigns it to the nextItem variable.
// Now arr = [2,3,4,5]
arr.push(item); // This adds the item 6 to the end of the queue
// Now arr = [2,3,4,5,6]
return nextItem;
}

奖励答案:
arr 在这种情况下是一个数组,它有push 和shift 方法。
而item是一个数字,没有这样的方法

关于javascript - 如何使用 .push 和 .shift 通过函数修改数组并对其进行排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41625832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com