5种方法JavaScript把数组转换成字符串【示例演示】
作者:admin 时间:2022-6-7 23:5:12 浏览:本文将介绍5种方法,JavaScript把数组转换成字符串。
1、使用array.toString()
此方法用逗号连接数组中的每个元素。示例:
const myArray = ['a', 'b', 'c']
console.log(myArray.toString())
输出
a,b,c
2、使用array.join()
与array.toString()
方法不同,你可以使用array.join()
方法将数组转换为带或不带逗号的字符串,它接受一个参数:
myArray.join(separator?)
你可以使用separator
参数指定一个字符串来分隔每个元素。此参数是可选的。如果你不指定separator
参数,它将用逗号连接元素。示例:
const myArray = ['a', 'b', 'c']
console.log(myArray.join()) // 'a,b,c'
console.log(myArray.join('')) // 'abc'
console.log(myArray.join(' ')) // 'ab c'
console.log(myArray.join('_')) // 'a_b_c'
输出
a,b,c
abc
a b c
a_b_c
3、使用循环
array.toString()
和array.join()
方法运行良好,但不适用于自定义逻辑。
假设你只需要在数组中的某个值之后添加一个分隔符。在这种情况下,前两种方法将不起作用。相反,你可以使用循环来定义自定义逻辑。示例:
const myArray = ['a', 'b', 'c', 'c', 'b', 'a', 'd']
let myString = ''
for (let i = 0; i < myArray.length; i++) {
const separator = ';'
const element = myArray[i];
if (element === 'b') {
myString += (element + separator)
} else {
myString += element
}
}
console.log(myString) // 'ab;ccb;ad'
输出
ab;ccb;ad
在这里,我们使用for
循环遍历数组中的元素。我们检查元素是否等于'b
'。如果是,我们在该元素后面加上一个分隔符。否则,我们附加没有分隔符的元素。
4、使用array.reduce()
你还可以使用array.reduce()
自定义逻辑加入的方法。前面带有for
循环的示例可以这样重写:
const myArray = ['a', 'b', 'c', 'c', 'b', 'a', 'd']
const myString = myArray.reduce((stringAccumulator, currentElement) => {
const separator = ';'
if (currentElement === 'b') {
return stringAccumulator += (currentElement + separator)
}
return stringAccumulator += currentElement
}, '')
console.log(myString) // 'ab;ccb;ad'
输出
ab;ccb;ad
在这里,我们指定一个空字符串作为array.reduce()
函数的第二个参数。这用作stringAccumulator
的初始值。array.reduce()
函数循环遍历数组中的元素。对于每个元素,它都会返回stringAccumulator
的新值。在我们的例子中,如果元素等于'b',我们将元素附加到带有分隔符的stringAccumulator
。否则,我们附加没有分隔符的元素。一旦它遍历所有元素,它就会返回stringAccumulator
。
5、使用JSON.stringify()
如果要保留数组结构并将其按原样转换为字符串,可以使用以下JSON.stringify()
方法。示例:
const myArray = ['a', 'b', 'c']
console.log(JSON.stringify(myArray))
输出
['a', 'b', 'c']
总结
本文介绍了5种方法,实现在JavaScript中把数组转换成字符串。5种方法没有差劣之分,根据自己的需要使用何种转换方法。
相关文章
标签: 数组
- 站长推荐