繁体   English   中英

Javascript,数组转换为字符串格式

[英]Javascript, Array to string format

我在Ionic项目中处于一种将数组转换为字符串格式(数组)的情况。 这是例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];

应该转换为

var strFruits = "['Banana', 'Orange', 'Apple', 'Mango']";

我可以使用循环和字符串操作来做到这一点,但是应该有一种简单的方法来解决这个问题。

尝试:

 const fruits = ['Banana', 'Apple', 'Orange']; const format = "['" + fruits.join("', '") + "']"; console.log(format); // => ['Banana', 'Apple', 'Orange'] 

或者按照注释中的建议,使用JSON.stringify

 const fruits = ['Banana', 'Apple', 'Orange']; const format = JSON.stringify(fruits); console.log(format); // => ["Banana", "Apple", "Orange"] 

我个人不喜欢最后一个,因为您被迫使用双引号,而唯一的更改方法是使用RegEx。

您可以使用JSON.stringify(fruits)或只是concat "["+fruits.toString()+"]"

对于

const fruits = ["Banana", "Orange", "Apple", "Mango"];

您可以这样做:

console.log(JSON.stringify(fruits));
// ["Banana","Orange","Apple","Mango"]

这将返回一个可以使用JSON.parse()解析为JS的字符串,这似乎正是您所需要的

对于您的问题范围,这也是有效的:

console.log(`['${fruits.join("', '")}']`);
// ['Banana', 'Orange', 'Apple', 'Mango']

这将返回您用单引号引起来的内容,但是使用JSON.stringify()有一个额外的优势,就是始终可以解析返回的字符串(我并不总是有效的JSON)

JSON.parse(`['${fruits.join("', '")}']`);
// Uncaught SyntaxError: Unexpected token ' in JSON at position 1

 console.log(JSON.stringify(["Banana", "Orange", "Apple", "Mango"]).replace(/"/g, "'")) 

但是我认为方法“ join()”的第一个变体更适合这种情况,因为如果文本包含双引号,则replace()会以错误的方式工作。

暂无
暂无

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

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