gpt4 book ai didi

javascript - 通过索引引用对象的属性是否安全?

转载 作者:行者123 更新时间:2023-12-01 07:46:34 25 4
gpt4 key购买 nike

考虑一下,我有这个对象:

var ob = {
"page1.html" : {...},
"page2.html" : {...},
"page3.html" : {...}
}

我无法将其更改为数组,我无权访问它,我想知道通过索引访问对象属性是否安全,因此:

var obVal = ob[0]; // reliably returns "page1.html"'s value every time

我知道在这种情况下不应该使用 for each 循环,因为值是散列的还是什么?但是通过索引引用可能没问题?

最佳答案

不,ob[0] 甚至不会工作 - 它会给出 undefined。事实上,如果您的对象是:

var ob = {
"0": "blah",
"page1.html" : {...},
"page2.html" : {...},
"page3.html" : {...}
}

ob[0] 会给你 "blah"

for-each 循环适合这种情况的工具,但您应该只检查循环中的每个索引是否确实属于对象,而不属于父对象:

for (var i in ob) { // i will be "page1.html", "page2.html", etc...
if (!ob.hasOwnProperty(i)) continue;
// Do something with ob[i]
}

关于javascript - 通过索引引用对象的属性是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4642941/

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