在 JavaScript 中,判断一个数组是否为空通常使用 Array.length
属性来检查。当你使用了 sorts === []
来判断数组是否为空,实际上这种比较方式并不会如你所期望的那样工作。因为 []
每次创建时都是一个新的数组对象,即使两个数组看起来是空的,它们也是不同的对象,所以 ===
运算符会比较它们的引用是否相同,而不是比较它们的内容。
正确的做法是使用 Array.length
属性来检查数组是否为空:
sorts: sorts.length === 0 ? null : JSON.stringify(sorts)
如果 sorts
数组的长度为 0
,则表达式的结果为 true
,最终返回 null
;否则,数组将被转换成 JSON 字符串。