gpt4 book ai didi

javascript - 如何循环或枚举 JavaScript 对象?

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

我有一个如下所示的 JavaScript 对象:

var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};

如何循环遍历 p 的所有元素(p1p2p3.. .) 并获取它们的键和值?

最佳答案

您可以使用for-in如其他人所示循环。但是,您还必须确保您获得的 key 是对象的实际属性,而不是来自原型(prototype)。

这是代码片段:

var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};

for (var key in p) {
if (p.hasOwnProperty(key)) {
console.log(key + " -> " + p[key]);
}
}

For-of 与 Object.keys() 替代方案:

var p = {
0: "value1",
"b": "value2",
key: "value3"
};

for (var key of Object.keys(p)) {
console.log(key + " -> " + p[key])
}

注意 for-of 的使用而不是for-in ,如果不使用,它将在命名属性上返回未定义,并且 Object.keys()确保仅使用对象自己的属性,而不使用整个原型(prototype)链属性

使用新的 Object.entries()方法:

注意: Internet Explorer 本身不支持此方法。您可以考虑为旧版浏览器使用 Polyfill。

const p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};

for (const [key, value] of Object.entries(p)) {
console.log(`${key}: ${value}`);
}

关于javascript - 如何循环或枚举 JavaScript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32103828/

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