我在Ionic项目中处于将数组转换为字符串格式(数组)的情况。这是示例
var fruits = ["Banana", "Orange", "Apple", "Mango"];
应转换为
var strFruits = "['Banana', 'Orange', 'Apple', 'Mango']";
我可以使用循环和字符串操作来完成它,但应该有一种简单的方法来解决这个问题。
答案 0 :(得分:5)
尝试:
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。
答案 1 :(得分:1)
您可以使用JSON.stringify(fruits)
或Just concat "["+fruits.toString()+"]"
答案 2 :(得分:1)
有关
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
答案 3 :(得分:0)
console.log(JSON.stringify(["Banana", "Orange", "Apple", "Mango"]).replace(/"/g, "'"))
但我认为第一个变量与方法“join()”更适合这种情况,因为如果文本将包含双引号,replace()将以错误的方式工作。