繁体   English   中英

JavaScript 将字符串转换为数组 Object

[英]JavaScript convert String into Array Object

如何将字符串转换为数组 object。

我有字符串

让 colors = “[红,蓝,绿]”

并想转换为

字符串[] colors = [“红”、“蓝”、“绿”]

是否有可用于此转换的内置函数?

谢谢你调查它。

我会遵循@Jannes Carpentier 的方法-但要提供替代方法-您可以使用 slice 获取字符串的文本(非括号)部分,然后在 " , " 上拆分以获取文本项数组和然后将其重新分配给原始变量。

 let colors = "[red, blue, green]" colors = colors.slice(1,-1).split(', '); console.log(colors); // gives ["red", "blue", "green"]

首先去掉括号

然后拆分", "

 let colors = "[red, blue, green]" colors = colors.replace(/([\[\]])/g, ""); colors = colors.split(", "); console.log(colors);

除了替换所有[ ]您还可以从字符串中删除第一个和最后一个字符

然后拆分", "

 let colors = "[red, blue, green]" colors = colors.substring(1, colors.length - 1); colors = colors.split(", "); console.log(colors);

如果您的数据没有按照任何通用标准进行格式化,那么您不太可能找到预构建的数据解析器。 如果您可以控制输入字符串,最好将其格式化为 json 字符串,如下所示:'["red", "green", "blue"]' 然后您可以使用 JSON.parse( )。

其他两个答案对您的数据有非常令人满意的解析器,但是,我不想指望输入中是否存在空格。 解析器如

function customParse(data) {
  return data
    .substring(1, data.length -1)
    .split(",", data)
    .map(trim);
}

console.log(customParse("[red, blue,green]"));

无论空格如何,都可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM