如何将对象转换为对象数组?附具体转换示例需求
解决方案
嘿,这事儿很简单,我给你写个直接能用的JavaScript实现,还会拆解每一步的逻辑:
完整代码实现
let categories = { "Asset Type": ["appliances", "electronics"], "Asset Availability": ["in stock"] }; const transformedCategories = Object.entries(categories).map(([name, values]) => { return { name, values: values.map(item => { // 处理多单词字符串(比如"in stock"转"In Stock")的首字母大写 return item.split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' '); }) }; }); // 输出结果就是你想要的结构 console.log(transformedCategories);
逻辑拆解
- 第一步:提取键值对:用
Object.entries(categories)把原对象转换成键值对数组,结构是[["Asset Type", ["appliances", "electronics"]], ["Asset Availability", ["in stock"]]]。 - 第二步:遍历转换结构:用
map方法遍历每一组键值对,把键直接赋值给name属性。 - 第三步:格式化values数组:对每个数组元素做首字母大写处理——这里特意处理了多单词的情况(比如"in stock"),把每个单词的首字母都大写后再拼接回去,完美匹配你要的结果。
运行这段代码后,你就能得到完全符合要求的数组结构啦!
内容的提问来源于stack exchange,提问作者Dola Guleria
相关产品推荐
相关产品推荐

