Jam*_*ler 3 javascript arrays coldfusion cfml coldfusion-2016
在ColdFusion中,我可以执行此操作
<cfscript>
favorites = [{"broker_label":"spectra"}];
for (afav in favorites) {
writedump(afav);
}
</cfscript>
Run Code Online (Sandbox Code Playgroud)
我得到数组中的每一行。
如果我在Javascript中尝试
favorites = [{"broker_label":"spectra"}];
for (var afav in favorites) {
console.log(JSON.stringify(afav));
}
Run Code Online (Sandbox Code Playgroud)
我得到的只是0,或者确切地说是0。 "\"0\""
到底是怎么回事?
如果要迭代数组的值,可以使用for…of或array.forEach()
favorites = [{"broker_label":"spectra"}];
for (let fav of favorites) {
console.log(JSON.stringify(fav));
}
// or:
favorites.forEach(elem => console.log(JSON.stringify(elem)))Run Code Online (Sandbox Code Playgroud)
for…in迭代属性(在数组的情况下为索引)。请注意,for…in当顺序很重要时,不建议与数组一起使用:
从https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for ...中:
注意:for ... in不应用于遍历索引顺序很重要的Array。