Array.slice on array with one element

Array.slice on array with one element

本文关键字:one element with array slice on Array      更新时间:2023-09-26

我对此感到非常困惑。如果我做这样的事情:

[1].slice(1)它返回一个空数组(在 Chrome 交互式控制台中)。但是如果我比较:

[1].slice(1) === []它总是错误的。所以我的问题是,[1].slice(1) 真正返回的是什么?

>===通过引用比较对象。
您正在比较两个不同的数组对象,它们都是空的。

如果要检查数组是否为空,请检查是否.length === 0

这不是

slice===的问题。

如果执行[1]==[1],则返回false

这是因为=====都通过引用比较对象

[] === []也返回 false。 [1].slice(1)实际上确实返回了[]

你最好检查长度:

[1].slice(1).length; // falsey