想知道 js 字符串怎么转成数组对象,上面的转成下面的
"1:总部;2:麒麟"
[{key:1,value:'总部'},{key:2,:value:'麒麟'}]
想知道 js 字符串怎么转成数组对象,上面的转成下面的
"1:总部;2:麒麟"
[{key:1,value:'总部'},{key:2,:value:'麒麟'}]
你可以使用JavaScript中的split()
函数将字符串转换为数组,然后使用map()
函数将每个数组元素转换为对象。
下面是一个示例代码:
let str = "1:总部;2:麒麟";
let arr = str.split(";"); // 将字符串按分号分割成数组
let result = arr.map(item => {
let temp = item.split(":"); // 将每个数组元素按冒号分割成两个子元素
return { [temp[0]]: temp[1] }; // 将子元素作为键值对返回对象
});
console.log(result); // [{1: '总部'}, {2: '麒麟'}]
解释:
split(";")
将字符串按分号分割成数组["1:总部", "2:麒麟"]
。map()
函数将每个数组元素作为参数传入,然后通过item.split(":")
将每个元素按冒号分割成两个子元素。return { [temp[0]]: temp[1] }
将子元素作为键值对返回对象,得到{1: '总部'}
和{2: '麒麟'}
。[{1: '总部'}, {2: '麒麟'}]
。Array.from("1:总部;2:麒麟".matchAll(/(\d+):(\p{Script=Han}+);?/gu)).map(
([, key, value]) => ({ key: parseInt(key), value }),
)
// [ { key: 1, value: "总部" }, { key: 2, value: "麒麟" } ]
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
编辑一: