[英]Array.slice on array with one element
我真的很困惑。 如果我做這樣的事情:
[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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.