如何将嵌套键值结构的对象数组转换为指定JSON数组格式
解决数组转换问题:提取单键对象的值组成新数组
嗨,这个需求很清晰,咱们用JavaScript的数组和对象方法就能快速搞定。你的原始数组里每个元素都是只有单个键值对的对象,核心就是把每个对象里的值提取出来,组成新数组就行。
实现代码
// 你的原始数组 const originalArray = [{"a":{"name":"abc","age":2}}, {"b":{"name":"xyz","age":3}}, {"c":{"name":"pqr","age":4}}]; // 转换逻辑 const transformedArray = originalArray.map(item => Object.values(item)[0]); // 输出结果 console.log(transformedArray); // 结果:[{"name":"abc","age":2}, {"name":"xyz","age":3}, {"name":"pqr","age":4}]
代码解释
Array.map():遍历原数组的每一个元素,对每个元素执行自定义的转换逻辑,最后返回一个全新的数组,不会修改原数组。Object.values(item):把当前遍历到的单键对象item转换成它的值组成的数组,比如{"a":{"name":"abc","age":2}}会变成[{"name":"abc","age":2}]。- 取索引
[0]:因为每个item只有一个键值对,所以Object.values(item)返回的数组里只有一个元素,直接取第一个就是我们需要的目标对象。
如果你的场景里偶尔会出现一个元素有多个键的情况,可以根据实际需求调整(比如取第一个值、合并所有值等),但从你的示例来看,这个方法完全适用。
内容的提问来源于stack exchange,提问作者Erick
相关产品推荐
相关产品推荐

