编写删除数组并添加到列表的函数

Writing a functions that removes an array and adds to the list

本文关键字:列表 函数 添加 删除 数组      更新时间:2023-09-26

我目前正在freecodecamp学习Javascript,并且正在学习函数。

正在执行一项任务,要求我更正一种queue,该将从数组中删除第一项,并将其替换为另一项(在数组末尾)。

这是我到目前为止所拥有的:

function nextInLine(arr, item) {
  // Your code here
  array = [];
  array.shift(arr);
  array.push(item);
  return arr;  // 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));

但是,当使用测试设置运行时,它会输出:

之前: [1, 2, 3, 4, 5]

之后: [1, 2, 3, 4, 5]

我很困惑,因为所有人都出去了。.我将如何完成此任务?

实际任务:

在计算机科学中,队列是一种抽象的数据结构,其中项目保持有序。可以在队列的后面添加新项目,并从队列的前面删除旧项目。

编写一个函数 nextInLine,它将数组 (arr) 和数字 (item) 作为参数。将数字添加到数组的末尾,然后删除数组的第一个元素。然后,nextInline 函数应返回已删除的元素。

dr 你用的是Array.prototype.shiftArray.prototype.push错了。

shift从数组中删除第一项并返回该项。而不是

array = [];
array.shift(arr);

你想做

var firstItem = arr.shift();

push将项目添加到数组的末尾。你想改变原来的数组对象,所以你想

arr.push(item);

然后返回第一项

return firstItem;

这为您提供了以下功能:

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

如果要修改传递的数组,则应在其上运行所有命令。

function nextInLine(arr, item) {
  // Your code here
  arr.shift();
  arr.push(item);
  return arr;  // this line is only required if you want to assign to a new array at the same time
}
function nextInLine(arr, item) 
{ 
    // Your code here arr.push(item); 
    return item = arr.shift(); 
    // return item; 
    // Change this line 
}

试试这个:-

function nextInLine(arr, item) {
 arr.push(item);
 item = arr.shift();
 return item;
}
function nextInLine(arr, item) {
    // Your code here
    var queue = arr.push(item);
    var removeItem = arr.shift();
    return removeItem;  // 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));
   

解释:

要在数组末尾添加数字,请使用.push()

要删除第一个元素,请使用.shift()

若要返回已删除的元素,请使用 return removeItem 并在使用 .shift() 方法设置 var 后使用