gpt4 book ai didi

javascript - 空值跳闸循环

转载 作者:行者123 更新时间:2023-11-30 13:31:26 24 4
gpt4 key购买 nike

每次我将数组传递给此函数时,当它遇到 null 或未定义的值时,它会停止循环。我不知道如何解决这个问题。当我询问循环中的当前项目是否为 null 或 undefined 或 false 时,它​​没有回答...

function xul(func, loc, arr){
var elem;
var props = {};

for (var i = 0, len = arr.length; i < len; i++){
if (arr[i] == undefined) {
jsdump("undefined" + " - " + len);
}
else if (arr[i] == null) {
jsdump("null" + " - " + len);
}
else if (arr[i] == false) {
jsdump("false" + " - " + len);
}
else if (typeof arr[i] == "string"){
elem = arr[i];
if (typeOf(arr[i + 1]) == "object") {
props = arr[i+1];
i++;
}
loc = createNode(func, loc, elem, props);
}
if (typeOf(arr[i + 1]) == "array") {
xul("append", loc, arr[i+1]);
} else {
return loc;
}
}
}

这是怎么回事?

最佳答案

实际上循环在这里停止(如果你返回一些东西你退出循环!):

if (typeOf(arr[i + 1]) == "array") {
xul("append", loc, arr[i+1]);
} else {
return loc;
}

如果下一个元素不是数组,则返回 loc 并且循环停止。检查这个 fiddle :http://jsfiddle.net/g8SVJ/它记录两个 undefined 然后返回 loc

您还应该使用 === 而不是 ==

关于javascript - 空值跳闸循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6642851/

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