|
|
|
|
|
本文將介紹5種方法,JavaScript把數(shù)組轉(zhuǎn)換成字符串。
1、使用array.toString()
此方法用逗號連接數(shù)組中的每個元素。示例:
const myArray = ['a', 'b', 'c']
console.log(myArray.toString())
輸出
a,b,c
2、使用array.join()
與array.toString()
方法不同,你可以使用array.join()
方法將數(shù)組轉(zhuǎn)換為帶或不帶逗號的字符串,它接受一個參數(shù):
myArray.join(separator?)
你可以使用separator
參數(shù)指定一個字符串來分隔每個元素。此參數(shù)是可選的。如果你不指定separator
參數(shù),它將用逗號連接元素。示例:
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、使用循環(huán)
array.toString()
和array.join()
方法運行良好,但不適用于自定義邏輯。
假設(shè)你只需要在數(shù)組中的某個值之后添加一個分隔符。在這種情況下,前兩種方法將不起作用。相反,你可以使用循環(huán)來定義自定義邏輯。示例:
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
循環(huán)遍歷數(shù)組中的元素。我們檢查元素是否等于'b
'。如果是,我們在該元素后面加上一個分隔符。否則,我們附加沒有分隔符的元素。
4、使用array.reduce()
你還可以使用array.reduce()
自定義邏輯加入的方法。前面帶有for
循環(huán)的示例可以這樣重寫:
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()
函數(shù)的第二個參數(shù)。這用作stringAccumulator
的初始值。array.reduce()
函數(shù)循環(huán)遍歷數(shù)組中的元素。對于每個元素,它都會返回stringAccumulator
的新值。在我們的例子中,如果元素等于'b',我們將元素附加到帶有分隔符的stringAccumulator
。否則,我們附加沒有分隔符的元素。一旦它遍歷所有元素,它就會返回stringAccumulator
。
5、使用JSON.stringify()
如果要保留數(shù)組結(jié)構(gòu)并將其按原樣轉(zhuǎn)換為字符串,可以使用以下JSON.stringify()
方法。示例:
const myArray = ['a', 'b', 'c']
console.log(JSON.stringify(myArray))
輸出
['a', 'b', 'c']
總結(jié)
本文介紹了5種方法,實現(xiàn)在JavaScript中把數(shù)組轉(zhuǎn)換成字符串。5種方法沒有差劣之分,根據(jù)自己的需要使用何種轉(zhuǎn)換方法。
相關(guān)文章