比如 opt 是一个对象,然后设置属性:
var opt = {
set1:"1",
set2:"2",
set3:"2"
}
可以直接将opt直接取到索引 还是将里面的属性取出来为数组取。
直接读到 key 无法用原生 JS 实现,比较常规的做法是用 for..in 循环:
var opts = { set1: "1", set2: "2", set3: "3" },
keys = [];
for (key in opts) {
keys.push(key);
}
keys[0]; // "set1"
keys[1]; // "set2"
keys[2]; // "set3"
但是这里面有坑,因为很多时候你不知道 key 是目标对象自己的,还是通过原型继承来的,所以一般都要做一层判断,只要目标对象自己的:
for (key in opts) {
if (opts.hasOwnProperty(key) {
keys.push(key);
}
}
好消息是 ES5 增加了 Object.keys 方法,直接获取对象自己的所有键,返回数组:
var keys = Object.keys(opts);
再进一步的判断比如 可枚举 之类的,你没问,我就不啰嗦了,欢迎其他人补充。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。