Javascript 如何提取对象名称/对象属性
问题:Javascript 如何提取对象名称/对象属性,javascript,Javascript,问题: obj = { module1 : {type :'int' , value : 100 }, module2 : {type :'str' , value : 'bio' } module3 : {type :'boolean' , value : 'true' } } 如何打印对象名称/对象属性 例如:预期的字符串模块1模块2模块3 请考虑在投票时添加评论,以便问题得以改善。谢谢。您可以使用 演示: 注意:可能需要包括针对旧浏览器的重复问题 在现代浏览器IE9+、FF4+
obj = {
module1 : {type :'int' , value : 100 },
module2 : {type :'str' , value : 'bio' }
module3 : {type :'boolean' , value : 'true' }
}
如何打印对象名称/对象属性
例如:预期的字符串模块1模块2模块3
请考虑在投票时添加评论,以便问题得以改善。谢谢。您可以使用 演示: 注意:可能需要包括针对旧浏览器的重复问题 在现代浏览器IE9+、FF4+、Chrome5+、Opera12+、Safari5+中,您可以使用内置的Object.keys方法:
var obj = {
module1 : {type :'int' , value : 100 },
module2 : {type :'str' , value : 'bio' },
module3 : {type :'boolean' , value : 'true' }
}
var keys = Object.keys(obj);
以上为完整的polyfill,但简化版本为:
var getKeys = function(myobj){
var keys = [];
for(var key in myobj){
keys.push(key);
}
return keys;
}
或者,将var getKeys替换为Object.prototype.keys,以允许您在任何对象上调用.keys。扩展原型有一些副作用,我不建议这样做。试试这个
for (var prop in obj) {
obj[prop] = 'xxx';
}
尝试对象.KeasObj.No.'',但它不能保证密钥会正常。有人在所有答案中投票:请考虑在投票时添加评论,以便问题得以改善。谢谢。但这并不能保证钥匙能正常使用。@Mritunjay是的。。。但实际上,几乎所有的现代浏览器都遵循相同的顺序。我不确定这就是为什么我没有回答这个问题,我只是给出了评论。这就是设置。OP想要得到它。
for (var prop in obj) {
obj[prop] = 'xxx';
}