关于Array的splice方法

image
上面少一行:let b = []

结果中为啥b中只有一个值?

阅读 1.6k
2 个回答
b.splice(1, i);

这句你不都把从下标为1开始的都删掉了?

看清楚splice方法和slice的区别。
b.splice(1, i)是从下标为1开始的i个元素删除掉,此方法会改变原数组。
你循环执行的都是把从下标为1开始的i个元素删除掉了,最后留下当然是只有一个下标为0的了。

b.slice(1, i)是获取从下标为1开始到下标为i的所有元素(不包含下标为i的元素),返回一个新的数组对象,原始数组不会被改变。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题