gpt4 book ai didi

javascript - 在 JavaScript 中创建数据结构

转载 作者:行者123 更新时间:2023-11-30 11:44:12 25 4
gpt4 key购买 nike

我目前正在 FreeCodeCamp 上尝试 JavaScript 挑战。几天来,我一直在努力应对这一挑战,但感到很困惑。我在该网站的论坛上寻求帮助,但得到的回复不是很有帮助或有用。

对于这个特殊的挑战,我必须“编写一个函数 nextInLine,它将一个数组 (arr) 和一个数字 (item) 作为参数。将数字添加到数组的末尾,然后删除数组的第一个元素。该nextInLine 函数应该返回被删除的元素。”

这是我目前的代码:

function nextInLine(arr, item) {
// Your code here
var nextInLine = ([], 1);
/*var addToNextInLine = nextInLine.push();
var removedFromNextInLine = nextInLine.shift();*/
return nextInLine;
}

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

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

为了成功完成这个挑战,我必须满足以下条件:

  • nextInLine([], 1) 应该返回 1

  • nextInLine([2], 1) 应该返回 2

  • nextInLine([5,6,7,8,9], 1) 应该返回 5

  • 在nextInLine(testArr, 10)之后,testArr[4]应该是10

我成功完成了第一个要求,但仍无法弄清楚如何完成最后三个要求。因为我被要求从数组中“添加”和“删除”元素,所以我认为这意味着成功完成此练习需要 push 和 shift 函数。

但是当我测试我的代码时,我收到一条 TypeError 消息,内容为“nextInLine.push 不是一个函数”。在我看来,要么我错误地编写了 push 和 shift 函数的代码,要么这些函数可能不是完成这个挑战所必需的。因此,话虽这么说,我想问大家的问题是,我是否在代码中写错了一些东西,我应该从我的代码中删除一些东西,还是我遗漏了其他东西?

如果您想了解任何其他信息以便更好地理解我的问题,请告诉我。

最佳答案

作为一个也参加过 Free Code Camp 的人,我同意上面评论者的观点,你可以在类(class)中学到的最重要的事情是如何研究和如何提出问题。因此,我不会为您提供工作片段。不过,我会指出您的代码中的一些具体问题,这应该会为您指明正确的方向。

您的代码中存在一些语法问题,并且对如何处理 pushshift 存在误解。

首先,语法。

var nextInLine = ([], 1);

此行将 ([], 1) 的值赋给 nextInLine([], 1) 不是我所知道的任何 javascript 数据结构。如您的问题的评论中所述,它只返回 1

因为 pushshiftArray 对象上的方法,所以 nextInLine 应该是一个 Array ,给我们留下:

var nextInLine = []

接下来,考虑shift 方法的return 值,来自MDN :

[The return value is ] the removed element from the array; undefined if the array is empty.

所以您应该返回的是调用 shift() 返回的值。

最后,push() 需要您希望它pusharray 的值,您目前没有提供。

关于javascript - 在 JavaScript 中创建数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556715/

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