JavaScript:如何将数组中的字符串值转换为目标格式数组结构
数组字符串转指定格式对象/数组的实现方法
给定输入数组:
const data = ["genStatus: INPROGRESS,DONE", "status: ACTIVE,DEACTIVATE"]
格式一:转换为键值对对象
遍历数组拆分字符串,将每个条目处理为「键对应数组」的结构:
const format1 = {}; data.forEach(item => { // 拆分键和值部分 const [key, valuesStr] = item.split(': '); // 将值字符串拆分为数组 const values = valuesStr.split(','); format1[key] = values; }); console.log(format1); // 输出: // { // genStatus: ["INPROGRESS","DONE"], // status: ["ACTIVE", "DEACTIVATE"] // }
格式二:转换为嵌套结构数组
拆分字符串后,将值转换为{name: xxx}的对象,再组装成指定数组结构:
const format2 = data.map(item => { const [key, valuesStr] = item.split(': '); const dataArr = valuesStr.split(',').map(val => ({ name: val })); return { name: key, data: dataArr }; }); console.log(format2); // 输出: // [{ name: 'genStatus', data: [{name: 'INPROGRESS'}, {name: 'DONE'}]}, // { name: 'status', data: [{name: 'ACTIVE'}, {name: 'DEACTIVATE'}]}]
内容的提问来源于stack exchange,提问作者COD3
相关产品推荐
相关产品推荐

