
将嵌套对象转换为仅包含首个对象的扁平数组
假设您有一个嵌套对象,其值是包含多个对象的数组,您希望将其转换为一个只包含每个数组中第一个对象的扁平数组。 以下是如何实现:
解决方案:
使用 Object.values() 方法提取对象的数组值,然后使用 map() 方法迭代这些数组,并提取每个数组的第一个元素。
const nestedObject = {
"210.335": [
{ "id": "110" },
{ "id": "111" }
],
"212.135": [
{ "id": "120" },
{ "id": "121" },
{ "id": "122" }
],
"212.335": [
{ "id": "130" }
]
};
const flatArray = Object.values(nestedObject).map(arr => arr[0]);
console.log(flatArray); // 输出: [{ "id": "110" }, { "id": "120" }, { "id": "130" }]
代码解释:
-
Object.values(nestedObject): 此方法返回一个数组,包含nestedObject中所有值的数组。 -
.map(arr => arr[0]):map()方法迭代Object.values()返回的数组。对于每个数组arr,它返回arr[0],也就是数组的第一个元素。 这将创建一个新的数组,只包含每个子数组的第一个对象。
这个简洁的代码片段有效地将嵌套对象转换为所需格式的扁平数组。










