gpt4 book ai didi

javascript - 用硬编码数组换入

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

菜鸟 JS 问题在这里:

for( var p in ['nodeName', 'nodeType', 'tagName', 'localName'] ) {
console.log( p + '=' + all[i][p] + '\n' );
}

我希望看到类似的东西

nodeName=DIV

相反,我得到

0=undefined

我是否被迫将数组分配给变量,以便我可以对其进行索引?有没有办法在 for-in 中使用此语法并从数组中检索字符串?

谢谢!

最佳答案

对数组使用for..in几乎总是错误的。它迭代对象属性,而不是值 -s,因此在您的情况下,它会产生 0、1、2 和 3。如果您决定扩展 Array.prototype,情况会变得更糟。 code> 使用自定义方法(与扩展 Object.prototype 不同,这并不是一个大禁忌)。使用 for..in 时,它们的名称也会被迭代。

做你想做的事情的正确方法是这样的:

var foo = [...];
for(var i = 0; i < foo.length; i++) {
// use foo[i]
}

或者这个(在现代浏览器中或者使用填充函数):

[...].forEach(function(value) {
// use value
});

关于javascript - 用硬编码数组换入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013954/

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