如何解决为什么将对象视为数组?
在下面的代码中, obj 是一个对象,但是为什么使用 [key]之类的数组而不是点号和其键?
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i++) {
var val = obj[keys[i]];
// use val
}
解决方法
为什么将对象视为数组?
不是。
Properties of objects can be accessed,使用点符号(object.identifier
)或方括号符号(object[expression]
)。
数组是一种对象。对于名称为整数的属性,它们具有特殊的行为。
标识符不能以数字开头,因此要访问名称为整数的属性,您必须使用方括号表示法。这意味着在数组上访问的大多数属性使用方括号表示法。
不是并不意味着方括号符号特定于数组。
const object = {
"3": "three","four": 4
};
console.log(object[3]);
const three = 3;
console.log(object[three]);
console.log(object.four);
console.log(object["four"]);
// console.log(object.3); // this errors because an identifier cannot start with a number
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。