2014-09-23 160 views
1

我有这个数组:如何将JavaScript对象数组转换为单个对象?

var objectArray = [{url:"www.google.com", id: "google"}, 
{url:"www.apple.com", id: "apple"}, 
{url:"www.facebook.com", id: "facebook"}]; 

是否有可能转换成是这样形成一个JavaScript对象:

var newObject = {"google": "www.google.com", 
       "apple": "www.apple.com", 
       "facebook": "www.facebook.com"}; 
+0

第一个 '阵列' 看起来像一个JSON对象。 – reporter 2014-09-23 12:02:33

+4

@reporter你在说什么?它看起来是一个JS数组文字。 – Scimonster 2014-09-23 12:03:01

+0

是的你的权利,我的语法与数组混合 – reporter 2014-09-23 12:04:41

回答

4

您可以手动循环阵列上,并将其转换。

var obj = {}; 
for (var i = 0; i < objectArray.length; i++) { 
    obj[objectArray[i].id] = objectArray[i].url; 
} 
+0

完美,正是我需要的!感谢你的时间(和其他人)。 – ohyeah 2014-09-23 12:33:14

0
var m={}; 
objectArray.forEach(function (i){m[i.id]=i.url}) 
相关问题