Javascript 数组上的Array.slice包含一个元素
我真的被这搞糊涂了。如果我这样做:Javascript 数组上的Array.slice包含一个元素,javascript,arrays,slice,Javascript,Arrays,Slice,我真的被这搞糊涂了。如果我这样做: [1]。切片(1) 它返回一个空数组(在chrome交互控制台中)。但如果我比较: [1]。切片(1)==[] 这总是假的。所以我的问题是,[1].slice(1)真正返回的是什么?[]==[]也返回false[1]。切片(1)实际上返回[]==通过引用比较对象。 您正在比较两个不同的数组对象,它们都是空的 如果要检查数组是否为空,请检查.length==0您最好检查长度: [1].slice(1).length; // falsey 这不是切片或==的问题
[1]。切片(1)
它返回一个空数组(在chrome交互控制台中)。但如果我比较:
[1]。切片(1)==[]
这总是假的。所以我的问题是,[1].slice(1)真正返回的是什么?
[]==[]
也返回false<代码>[1]。切片(1)实际上返回[]
==
通过引用比较对象。您正在比较两个不同的数组对象,它们都是空的
如果要检查数组是否为空,请检查
.length==0
您最好检查长度:
[1].slice(1).length; // falsey
这不是
切片
或==
的问题
如果执行[1]==[1]
,则返回false
这是因为
=
和==
都通过引用比较对象你想做什么?在索引1处没有什么可分割的内容—编写一个lispy到javascript编译器并尝试翻译(rest’(1))。