数组是您在日常编程生活中可能使用的最常见和最灵活的数据结构。由于 JavaScript 编程语言提供了大量的数组方法供您使用,因此您可以轻松地操作数组并执行您想要执行的任何操作。
同样,借助预定义的方法和遵循其他一些方法,也可以轻松地将数组转换为字符串。在本文中,我们将看到将整个数组数据结构(即该数组中的所有元素)转换为单个字符串的不同方法。
目录
1.在JavaScript中使用toString()方法将字符串转换为字符串
2. .join()使用JavaScript中的方法连接数组的元素
3. 用于JSON.stringify()在JavaScript中将数组转换为字符串
1.在JavaScript中使用toString()方法将字符串转换为字符串
将数组转换为字符串的最简单方法是使用 JavaScript 中的预定义方法,称为toString(). 此方法不仅适用于数组,还适用于各种其他数据类型。几乎任何东西都可以使用toString()
.
您可以在数组末尾添加它以使用此方法,如下所示。它将获取该数组中的所有元素并将它们连接为单个字符串。
var arr = ['Google', 'is', 'no', '1', 'search engine'].toString();
console.log(arr);
输出:
"Google,is,no,1,search engine"
在这里,如果您看到输出,它是一个字符串,但以逗号分隔。现在,如果要从上面的字符串中删除逗号,可以使用replace()
如下方法。该replace()
方法有两个参数。第一个参数是需要替换的字符本身(在本例中为逗号,由 表示/,
),第二个参数决定将字符替换为什么(在本例中为空格)。是/
转义字符。
arr.replace(/,/g," ")
输出:
"Google is no 1 search engine"
在这种情况下,我们要删除字符串中的所有逗号,由 . 表示/g
。
2. .join()使用JavaScript中的方法连接数组的元素
将数组转换为字符串的另一种方法是使用join()
方法。此方法将从数组中取出每个元素并一起形成一个字符串。这里,如果直接在类似的数组上使用这个方法toString()
,也会生成一个逗号分隔的字符串。
但是在这里,您不需要使用任何其他方法,replace()
因为您可以直接传递任何其他分隔符作为参数来分隔字符串中的元素。
var arr_1 = ['Google', 'is', 'no', '1', 'search engine'].join();
var arr_2 = ['Google', 'is', 'no', '1', 'search engine'].join("-");
var arr_3 = ['Google', 'is', 'no', '1', 'search engine'].join("##space##");
console.log(arr_1);
console.log(arr_2);
console.log(arr_3);
输出:
"Google,is,no,1,search engine"
"Google-is-no-1-search engine"
"Google##space##is##space##no##space##1##space##search engine"
3. 用于JSON.stringify()在JavaScript中将数组转换为字符串
该JSON.stringify()
方法允许您将任何 JavaScript 对象或值转换为字符串。这更干净,因为它引用数组内部的字符串并正确处理嵌套数组。此方法最多可以使用三个参数,如下所示。
JSON.stringify(value, replacer, space)
该value
参数采用任何需要转换为字符串的值。该参数是强制传递的。replacer
是一个函数,您可以传递它来替换字符串中的某些元素。如果您想在输出字符串中添加空格以提高可读性,您可以使用该space
参数。这两个参数replacer
和space
都是可选的。
var arr = JSON.stringify(['Google', 'is', 'no', '1', 'search engine']);
console.log(arr);
输出:
"[\"Google\",\"is\",\"no\",\"1\",\"search engine\"]"
在上面的例子中,我们肯定想使用一个替换函数,因为我们上面得到的输出是不可读的。该JSON.stringify()
方法直接获取数组的各个元素并将它们转换为字符串,包括其结构。
4.在JavaScript中使用类型强制将数组转换为字符串
将数组转换为字符串的最后一种方法是使用类型强制转换。类型强制是将值从一种类型转换为另一种类型的过程。JavaScript 中的强制有两种类型,隐式强制和显式强制。
隐式强制是当你对不同类型的值应用各种操作符(+
, -
, ' '
,/
等)时,显式强制是当你使用诸如 , 等函数时String()
。Number()
两种类型强制的示例如下所示.
var str_1 = ['This', 'is', 11, 'clock'] + '';
var str_2 = String(['This', 'is', 11, 'clock']);
console.log(str_1);
console.log(str_2);
输出:
This,is,11,clock
This,is,11,clock
str_1
是隐式强制的一个例子,我们只是在两种不同类型的值之间使用运算符(一个是数组,另一个是字符串)。此操作的结果输出是一个字符串。这str_2
是一个显式强制的示例,我们刚刚在String()
函数中传递了整个数组以将数组转换为字符串。