2017-04-26 36 views
0

我想关键值的对象转换为对象的数组中的JavaScript如何键值的对象转换为对象

var obj={"name1":"value1","name2":"value2",...}; 

数组我怎样才能将其转换为

arr=[{"name":"name1","value":"value1"},{"name":"name2","value":"value2"},...]; 
+0

你尝试过这么远吗? – hindmost

回答

1

尝试用array#mapArray#push

var obj={"name1":"value1","name2":"value2"}; 
 
var res=[]; 
 
Object.keys(obj).map(a => res.push({name:a , value:obj[a]})) 
 
console.log(res)

0

简答题(ES6):

const arr = Object.entries(obj).map(([name, value]) => { 
    return { 
    name, 
    value 
    } 
}); 

另一个答案(ES5):

var arr = Object.keys(obj).map(function(key) { 
    return { 
    name: key, 
    value: obj[key] 
    } 
}); 
+0

请不要使用['Object.entries'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)* not * ES6,但仍然只有一个草稿。 – str

+0

[* Object.entries *](https://tc39.github.io/ecma262/#sec-object.entries)是ECMAScript 2018(正如str所说,仍然是草案)。通过“ES6”,我想你的意思是ECMAScript 2015 aka [* ECMA-262 ed 6 *](http://ecma-international.org/ecma-262/6.0/index.html)。 – RobG

+0

感谢您的澄清。我不会编辑帖子以保持您的评论有效。 – zvona