
从嵌套JSON对象中提取每个数组的第一个元素创建一个新数组
如何将一个包含多个数组的JSON对象转换成一个新数组,这个新数组包含原对象中每个数组的第一个元素?
问题描述:
假设我们有一个这样的JSON对象:
{
"210.335": [
{ "id": "110" },
{ "id": "111" }
],
"212.135": [
{ "id": "120" },
{ "id": "121" },
{ "id": "122" }
],
"212.335": [
{ "id": "130" }
]
}
我们的目标是将其转换为以下数组:
[
{ "id": "110" },
{ "id": "120" },
{ "id": "130" }
]
解决方案:
可以使用JavaScript的Object.values()和map()方法高效地实现这个转换:
const jsonData = {
"210.335": [
{ "id": "110" },
{ "id": "111" }
],
"212.135": [
{ "id": "120" },
{ "id": "121" },
{ "id": "122" }
],
"212.335": [
{ "id": "130" }
]
};
const newArray = Object.values(jsonData).map(item => item[0]);
console.log(newArray); // 输出: [{ "id": "110" }, { "id": "120" }, { "id": "130" }]
这段代码首先使用Object.values()方法获取JSON对象的所有值(即数组),然后使用map()方法遍历这些数组,并提取每个数组的第一个元素(item[0]),最终创建一个包含这些第一个元素的新数组。










