我有一组具有以下格式的对象var obj = [{ "a": 1}, { "b": 2}, { "c": 3}];想要从这个对象数组中的每个对象中分别提取键和值到一个新数组中像这样的东西: [{"key:"a","val:"1"],{"key":"b","val":"2"},{"key": "c","val":"3"]}已尝试以下但它不工作:var obj = [{ "a": 1}, { "b": 2}, { "c": 3}];const result = obj.map(value => Object.keys(value)[0]);console.log(result);
3 回答
森栏
TA贡献1810条经验 获得超5个赞
我们必须使用Object.keys财产来实现它。试试下面的代码
var obj = [{
"a": 1,
}, {
"b": 2
}, {
"c": 3
}];
const result = obj.map(value => {
let [key, val] = Object.entries(value)[0];
return {key, val}
});
console.log(result)
茅侃侃
TA贡献1842条经验 获得超21个赞
您可以使用Array.flatMap()withObject.entries()将对象数组转换为条目数组。然后将每个条目映射到一个对象:
const arrayObj = [{ "a": 1 }, { "b": 2 }, { "c": 3 }];
const result = arrayObj
.flatMap(Object.entries) // convert to an array of entries
.map(([key, val]) => ({ key, val })); // convert each entry to an object
console.log(result);
添加回答
举报
0/150
提交
取消