循环遍历对象并将键和值推入数组

Loop through an object and push key and value into an array

本文关键字:数组 键和值 遍历 对象 循环      更新时间:2023-09-26

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

传入的数据:

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

我希望的"步骤"最终是:

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

有人能就实现这一目标的最佳方式提出建议吗?

试试这个

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

试试这个:

deps.push(dep[key]);