You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codecademy案例中用unshift()实现reverseArray的原理疑问

// 使用.unshift()方法
const reverseArray = arr => {
    let reversed = [];
    for (let i = 0; i < arr.length; i++) {
        reversed.unshift(arr[i]);
    }
    return reversed
}

核心原因是unshift()方法的作用是将传入的元素插入到调用数组的最开头,而非常规push方法那样追加到数组末尾。
我们拿实际示例走一遍流程就能直观理解,假设传入的原数组是[1,2,3]:

  • 第一次遍历拿到原数组第一个元素1,插入空数组开头,得到新数组[1]
  • 第二次遍历拿到原数组第二个元素2,插入当前数组开头,得到新数组[2,1]
  • 第三次遍历拿到原数组第三个元素3,插入当前数组开头,得到新数组[3,2,1]
    等于每一个后遍历到的原数组元素,都会被插到之前已经插入的元素前面,最后自然就形成了原数组倒序的结果,和从后往前遍历原数组再push到新数组的效果完全一致。

内容的提问来源于stack exchange,提问作者misssn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:48:01