请求协助将指定字符串转换为特定数组对象格式
解决方案
可以通过字符串分割、数组遍历和对象构建来实现需求,以下是具体代码:
let test = "a:1|b:2,3|c:4,5"; // 处理字符串生成product对象 const product = test.split('|').reduce((acc, item) => { const [key, valueStr] = item.split(':'); // 将值字符串转为数字数组 const values = valueStr.split(',').map(val => Number(val)); acc[key] = values; return acc; }, {}); // 构建目标数组结构 const prod = [{ name: test, product: product }]; // 输出结果 console.log(prod);
代码说明
- 先用
split('|')将原字符串按|分割为单个键值对数组 - 通过
reduce遍历数组,对每个键值对用split(':')拆分出键和值字符串,再将值字符串按,分割后转为数字数组 - 最后将原字符串作为
name、处理好的对象作为product,组合成目标数组结构
内容的提问来源于stack exchange,提问作者Arun Krishna
相关产品推荐
相关产品推荐

