gpt4 book ai didi

javascript - 为什么这个 Array.length if else 检查不起作用?

转载 作者:行者123 更新时间:2023-11-28 11:22:42 24 4
gpt4 key购买 nike

enter image description here

显然tagObjects是一个数组,长度为0。但是它仍然通过了该检查并导致错误。

类型错误:无法读取未定义的属性“长度”

if (tagObjects != "empty" || tagObjects.length === 0) {
for (var i = 0; i < tagObjects.tags.length; i++) {
temp_tags.push(tagObjects[i].tags);
}

temp_tags.forEach(function(obj) {
if (obj.selected) {
if (vs.tags[map[obj.term]] != undefined) {
vs.tags[map[obj.term]].selected = true;
}
}
});
}

它甚至通过了字符串检查!

enter image description here

最佳答案

这是一个 OR 条件

if (tagObjects != "empty" || tagObjects.length === 0) {

如果不是字符串“empty”OR如果它没有长度,则继续。

换句话说,如果数组不是字符串“空”,长度并不重要,如果它是一个数组,它可能总是这样?

此外,您正在访问 tagObjects.tags,这表明它既不是字符串也不是数组,而是一个对象,并且对象没有长度。

换句话说,您的 if 条件根本没有意义?

if (tagObjects != "empty" && tagObjects.length === 0) {

关于javascript - 为什么这个 Array.length if else 检查不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29972722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com