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';
 }