上面少一行:let b = []
结果中为啥b中只有一个值?
###b.splice(1, i);
这句你不都把从下标为1
开始的都删掉了?
看清楚splice
方法和slice
的区别。b.splice(1, i)
是从下标为1
开始的i
个元素删除掉,此方法会改变原数组。
你循环执行的都是把从下标为1
开始的i
个元素删除掉了,最后留下当然是只有一个下标为0
的了。
b.slice(1, i)
是获取从下标为1
开始到下标为i
的所有元素(不包含下标为i
的元素),返回一个新的数组对象,原始数组不会被改变。