1

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

传入的数据:

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

任何人都可以就实现这一目标的最佳方法提出建议吗?

4

2 回答 2

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
      }
 }
于 2013-08-29T13:27:37.743 回答
0

尝试这个:

deps.push(dep[key]);
于 2013-08-29T13:37:29.007 回答