Foo*_*mus 36 javascript properties object
如果我想枚举一个对象的属性并想要忽略原型,我会使用:
var instance = { ... };
for (var prop in instance) {
if (instance.hasOwnProperty(prop)) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果instance
只有一个属性,我想获得该属性名称怎么办?有没有比这样做更简单的方法:
var instance = { id: "foobar" };
var singleMember = (function() {
for (var prop in instance) {
if (instance.hasOwnProperty(prop)) {
return prop;
}
}
})();
Run Code Online (Sandbox Code Playgroud)
Koo*_*Inc 46
也许Object.keys可以为你工作.如果其长度返回1,则可以使用yourObject[Object.keys[0]]
获取对象的唯一属性.MDN链接还显示了在没有keys
方法1的环境中使用的自定义函数.像这样的代码:
var obj = {foo:'bar'},
kyz = Object.keys(obj);
if (kyz.length === 1){
alert(obj[kyz[0]]); //=> 'bar'
} else {
/* loop through obj */
}
Run Code Online (Sandbox Code Playgroud)
1某些旧版浏览器不支持Object.keys
.MDN链接提供代码以使其在这些浏览器中工作.请参阅上述 MDN页面中的标题兼容性
Isa*_*Han 13
最短形式:
instance[Object.keys(instance)[0]];
Run Code Online (Sandbox Code Playgroud)
ES6 +功能:
let first = v => v[Object.keys(v)[0]];
Run Code Online (Sandbox Code Playgroud)
使用功能:
first({a:'first', b:'second'}) // return 'first'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38997 次 |
最近记录: |