Javascript,数组到字符串格式

时间:2018-05-18 18:44:18

标签: javascript

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

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

应转换为

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

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

4 个答案:

答案 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()将以错误的方式工作。