JavaScript - 将字符串数组转换为字符串数组
JavaScript - Converting string-array to an array of strings
我收到以下输入:
const myString = "['one', 'two']";
当我运行以下命令时:
console.log(typeof myString);
我得到string
这是有道理的,因为这是一个字符串输入。输入类型不受我控制,我必须将其作为 typeof 字符串接收。
但是,我想将这个字符串转换为正式的字符串数组。
例如:
const myArray = ['one', 'two'];
所以,当我 运行:
console.log(typeof myArray);
我得到 object
。
我已经尝试了 JSON.parse()
和 JSON.stringify
但没有成功。
我的问题的基础是如何(在 JavaScript 中)将字符串数组转换为字符串数组?
如果 JSON 不是无效的,JSON.parse
会 工作。如评论中所述,字符串的格式必须为 '["1", "2"]'
.
如果您无法控制格式,您可以手动解析它:如果字符串不包含引号,您可以使用 #replaceAll("'", '"')
.
如果您有边缘情况需要涵盖,json5 可能会有所帮助:JSON5.parse(str)
一旦您通过 NPM 或 unpkg
加载了脚本
JSON只识别" "
的用法。要 parse 您需要使用双引号而不是单引号。
const myString = "['one', 'two']";
// change to
const myString = '["one", "two"]';
举个例子:
// Not working
const Str = "['one', 'two']";
console.log(Str); // ['one', 'two']
console.log(typeof Str); // string
JSON.parse(Str); // SyntaxError: Unexpected token ' in JSON at position 1
// Working example:
const myString = '["one", "two"]';
console.log(myString); // ["one", "two"]
console.log(typeof myString); // string
const myArray = JSON.parse(myString);
console.log(myArray); // [ 'one', 'two' ]
console.log(typeof myArray); // object
如果您需要将 '
更改为 "
,只需使用 replace。
const myArray = ['one', 'two'];
let str = myArray.toString();
console.log(str);//one,two
console.log(typeof str)//string
let srr = str.split(",");
console.log(srr);//[ 'one', 'two' ]
console.log(typeof srr)//object same as that of myArray
上面的变量 myArray 保存着一个数组。为了将数组转换为字符串,myArray.toString() 中有一个内置方法。
现在要将数组转换为字符串,我们将使用如上所示的拆分方法。
我收到以下输入:
const myString = "['one', 'two']";
当我运行以下命令时:
console.log(typeof myString);
我得到string
这是有道理的,因为这是一个字符串输入。输入类型不受我控制,我必须将其作为 typeof 字符串接收。
但是,我想将这个字符串转换为正式的字符串数组。
例如:
const myArray = ['one', 'two'];
所以,当我 运行:
console.log(typeof myArray);
我得到 object
。
我已经尝试了 JSON.parse()
和 JSON.stringify
但没有成功。
我的问题的基础是如何(在 JavaScript 中)将字符串数组转换为字符串数组?
JSON.parse
会 工作。如评论中所述,字符串的格式必须为 '["1", "2"]'
.
如果您无法控制格式,您可以手动解析它:如果字符串不包含引号,您可以使用 #replaceAll("'", '"')
.
如果您有边缘情况需要涵盖,json5 可能会有所帮助:JSON5.parse(str)
一旦您通过 NPM 或 unpkg
JSON只识别" "
的用法。要 parse 您需要使用双引号而不是单引号。
const myString = "['one', 'two']";
// change to
const myString = '["one", "two"]';
举个例子:
// Not working
const Str = "['one', 'two']";
console.log(Str); // ['one', 'two']
console.log(typeof Str); // string
JSON.parse(Str); // SyntaxError: Unexpected token ' in JSON at position 1
// Working example:
const myString = '["one", "two"]';
console.log(myString); // ["one", "two"]
console.log(typeof myString); // string
const myArray = JSON.parse(myString);
console.log(myArray); // [ 'one', 'two' ]
console.log(typeof myArray); // object
如果您需要将 '
更改为 "
,只需使用 replace。
const myArray = ['one', 'two'];
let str = myArray.toString();
console.log(str);//one,two
console.log(typeof str)//string
let srr = str.split(",");
console.log(srr);//[ 'one', 'two' ]
console.log(typeof srr)//object same as that of myArray
上面的变量 myArray 保存着一个数组。为了将数组转换为字符串,myArray.toString() 中有一个内置方法。 现在要将数组转换为字符串,我们将使用如上所示的拆分方法。