关于Array的splice方法

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

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

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

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

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

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

推荐问题