循环访问对象并将键和值推入数组

时间:2013-08-29 13:24:17

标签: javascript

我一直试图传入一个包含内部数据的对象,然后我想将该对象中的结果推送到数组中,但仍保留键和值名称。

传入的数据:

App.config({
    dependencies: : {
        'html5shiv' : 'http://html5shiv.googlecode.com/svn/trunk/html5.js',
        'respondjs' : 'http://respondjs.googlecode.com/svn/trunk/respond.js'
    }
});

我的数组和逻辑(表示我被困住了!):

var deps = [];
App.config = function (obj) {
    var dep = obj.dependencies;
    for (var key in dep) {
        if (dep.hasOwnProperty(key)) {
            deps.push( /* stuck here */ );
        }
    }
    console.log(deps);
};

我想要'deps'最终得到的是:

[{
    'html5shiv': 'http://html5shiv.googlecode.com/svn/trunk/html5.js'
},{
    'respondjs': 'http://respondjs.googlecode.com/svn/trunk/respond.js'
}];

有人可以就实现这一目标的最佳途径提出建议吗?

2 个答案:

答案 0 :(得分:1)

试试这个

for (var key in dep) {
        if (dep.hasOwnProperty(key)) {
            deps.push( dep[key].html5shiv);
            deps.push( dep[key].respondjs);
        }
    }

更新:

for (var key in dep) {
     if (dep.hasOwnProperty(key)) {
          deps.push({key: dep[key]}); //Dynamic
      }
 }

答案 1 :(得分:0)

试试这个:

deps.push(dep[key]);