猿问

如何在对象数组中分隔每个对象的键和值 - Javascript

我有一组具有以下格式的对象


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


慕姐4208626
浏览 265回答 3
3回答

森栏

我们必须使用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)

茅侃侃

您可以使用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 objectconsole.log(result);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答