2013-08-29 2 views
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' 
}]; 

Может ли кто-нибудь посоветовать лучший способ достичь этого?

ответ

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

Это только выталкивает ключ, мне нужно на самом деле толкать объект, я вас подумал может сделать это как .push ({key: obj}), но не работает. – Halcyon991

+0

Дает вам это, нужно быть динамичным, а не жестко закодированным, но это помогло :) – Halcyon991

+0

@ Halcyon21 'deps.push ({key: dep [key]})' это то, что вы получили. Вы можете поделиться им? – Praveen

Смежные вопросы