如何提取对象名称/对象属性

时间:2014-08-08 12:05:42

标签: javascript

问题:

obj = {
 module1 : {type :'int' , value : 100 },
  module2 : {type :'str' , value : 'bio' }
  module3 : {type :'boolean' , value : 'true' }
}

如何打印对象名称/对象属性

例如:期望字符串“module1 module2 module3”

请在投票时考虑添加评论,以便改进问题。感谢。

3 个答案:

答案 0 :(得分:0)

您可以使用Object.keys()

var array = Object.keys(obj);
var string = array.join(' ')

演示:Fiddle

注意:可能需要包含旧版浏览器的polyfill

答案 1 :(得分:-1)

重复问题How to list the properties of a JavaScript object 在现代浏览器(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;
}

或者用Object.prototype.keys替换var getKeys以允许您在任何对象上调用.keys()。扩展原型有一些副作用,我不建议这样做。

答案 2 :(得分:-2)

试试这个

for (var prop in obj) {
    obj[prop] = 'xxx';
 }