插件窝 干货文章 如何将JavaScript键值对数组对象转换为指定结构的对象数组?

如何将JavaScript键值对数组对象转换为指定结构的对象数组?

数组 对象 JavaScript 转换 352    来源:    2025-03-20

要将一个JavaScript键值对数组对象转换为指定结构的对象数组,你可以使用map方法来遍历原始数组,并在每次迭代中创建一个新的对象。以下是一个示例,假设你有一个键值对数组对象,并且你想将其转换为一个具有特定结构的对象数组。

示例输入

假设你有以下键值对数组对象:

const keyValuePairs = [
    { key: 'name', value: 'John' },
    { key: 'age', value: 30 },
    { key: 'city', value: 'New York' }
];

目标结构

你希望将其转换为以下结构的对象数组:

[
    { field: 'name', content: 'John' },
    { field: 'age', content: 30 },
    { field: 'city', content: 'New York' }
]

转换代码

你可以使用map方法来实现这个转换:

const transformedArray = keyValuePairs.map(pair => ({
    field: pair.key,
    content: pair.value
}));

console.log(transformedArray);

输出结果

运行上述代码后,transformedArray将会是:

[
    { field: 'name', content: 'John' },
    { field: 'age', content: 30 },
    { field: 'city', content: 'New York' }
]

解释

  • map方法遍历keyValuePairs数组中的每个元素。
  • 对于每个元素,它返回一个新的对象,其中field属性设置为原始对象的keycontent属性设置为原始对象的value
  • 最终,map方法返回一个新的数组,其中包含转换后的对象。

通用化

如果你需要将键值对数组转换为其他结构,只需在map回调函数中调整新对象的属性即可。例如,如果你想要将keyvalue分别映射为iddata,可以这样做:

const transformedArray = keyValuePairs.map(pair => ({
    id: pair.key,
    data: pair.value
}));

这样,transformedArray将会是:

[
    { id: 'name', data: 'John' },
    { id: 'age', data: 30 },
    { id: 'city', data: 'New York' }
]

通过这种方式,你可以灵活地将键值对数组转换为任何你需要的对象结构。