You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将对象字符串数组转换为对象数组

解决方法

可以通过遍历数组并处理每个字符串元素来实现转换,用JavaScript的map方法结合字符串操作就能完成:

const a = ['{/run:true}', '{/sleep:false}'];
const b = a.map(item => {
  // 移除字符串首尾的大括号
  const trimmed = item.slice(1, -1);
  // 按冒号分割键和值(正则确保只分割第一个冒号,兼容键名含冒号的情况)
  const [key, valueStr] = trimmed.split(/:(.+)/);
  // 将字符串值转为布尔类型
  const value = JSON.parse(valueStr);
  return { [key]: value };
});

console.log(b); // 输出: [{'/run':true}, {'/sleep':false}]

步骤说明:

  • 用map遍历原数组,对每个元素逐一转换;
  • slice(1, -1)去掉字符串首尾的{和},提取出/run:true这类核心内容;
  • split(/:(.+)/)通过正则分割,避免键名里包含冒号时出现错误分割;
  • JSON.parse(valueStr)直接将"true"或"false"字符串转为对应的布尔值,简洁可靠;
  • 用计算属性名{ [key]: value }创建目标对象,完成单个元素的转换。

如果你的场景里键名不会包含冒号,也可以简化成split(':')来分割,效果一致。

内容的提问来源于stack exchange,提问作者David Velez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:20:33