【问题标题】:Array Methods in javascriptsjavascript中的数组方法
【发布时间】:2020-11-02 08:30:05
【问题描述】:

这个数组里popunshift这个方法我看不懂

let nums = [1, 2, 3, 6, 9, 8, 7, 4];
const ids = [1, 2, 3, 6, 9, 8, 7, 4];

let btn5 = document.getElementById("btn5");

btn5.onclick = function() {
  nums.unshift(nums.pop());

  for (i = 0; i <= 7; i++) {
    document.getElementById("btn" + ids[i]).innerHTML = nums[i];
  }
}

【问题讨论】:

  • Array#popArray#unshift。您想更具体地了解它们的哪些信息?
  • pop() 删除数组中的最后一项。 unshift() 在数组的开头插入一个项目。因此,这会将最后一项移动到数组的开头。
  • 它通过将最后一项移动到数组的开头来旋转数组。

标签: javascript arrays methods


【解决方案1】:

nums.unshift(nums.pop()); 是:

// Remove the last entry from the array
const tmp = nums.pop();
// Insert it at the beginning of the array
nums.unshift(tmp);

例如,第一次运行时,nums 以:

[1, 2, 3, 6, 9, 8, 7, 4]

所以pop 从末尾删除4,并将其插入到开头:

[4, 1, 2, 3, 6, 9, 8, 7]

现场示例:

const nums = [1, 2, 3, 6, 9, 8, 7, 4];

console.log("before:", JSON.stringify(nums));
nums.unshift(nums.pop());
console.log("after: ", JSON.stringify(nums));

MDN 上的详细信息:popunshift

【讨论】:

    【解决方案2】:

    Array pop 方法删除并返回数组的最后一个元素。如果你写类似的东西,

    let nums = [1, 2, 3, 6, 9, 8, 7, 4];
    const ids = [1, 2, 3, 6, 9, 8, 7, 4];
    
    const poppedValue = nums.pop(); //poppedValue = 4 and nums = [1, 2, 3, 6, 9, 8, 7]
    

    unshift 方法将项目推入数组的开头。

    nums.unshift(poppedValue); // nums = [4, 1, 2, 3, 6, 9, 8, 7];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 2013-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多