您如何使console.assert失败并显示[],所以无效:
a = []
[]
console.assert(a !== [])
undefined
console.assert(a != [])
undefined
答案 0 :(得分:2)
问题是,当您将数组彼此比较时,您正在检查它们的引用是否相同,而不是内容是否相同。
数组是对象,每次创建新数组时,都会创建Array对象的新实例。因此,在您的示例中,a
将不等于[]
,即使它们的内容相同,因为它们是两个具有不同引用的不同对象。
解决方案?我假设您要检查数组是否为空,那么为什么不检查数组的大小是否为0?
console.assert(a.length !== 0);