4 種將字符串轉(zhuǎn)換為字符數(shù)組的方法

1、split() 方法
const text = "abc";const chars = text.split('');console.log(chars);//['a', 'b', 'c']
該split方法無法正確處理采用兩個代碼單元(如表情符號)的字符。下面是一個例子。
const text = "abc??";const chars = text.split('');console.log(chars);//["a", "b", "c", "\ud83d", "\ude0e"]
2、展開運算符
展開運算符 ( ...) 允許在需要多個元素(如數(shù)組文字)的地方擴(kuò)展諸如字符串之類的可迭代對象。
這是將字符串?dāng)U展為字符數(shù)組的示例。正確處理采用兩個代碼單元的字符。
const text = "abc??";const chars = [ ...text ];console.log(chars);//["a", "b", "c", "??"]
3、解構(gòu)賦值
解構(gòu)賦值語法可以將數(shù)組或可迭代對象中的值解包為不同的變量。
在解構(gòu)數(shù)組或可迭代對象時,我們可以使用 rest 模式將其剩余部分提取到單個變量中。
const text = "abc??";const [ ...chars ] = text;console.log(chars);//["a", "b", "c", "??"]
4、Array.from
Array.from輔助創(chuàng)建從陣列狀或迭代的對象的新數(shù)組。字符串既可迭代又類似于數(shù)組,因此,可以成功地將其轉(zhuǎn)換為字符數(shù)組。
const text = "abc??";const chars = Array.from(text);console.log(chars);//["a", "b", "c", "??"]
重點說明
該split方法可能是將字符串轉(zhuǎn)換為字符數(shù)組的常用方法,但它不處理采用兩個代碼單元的字符。
我們可以使用對象字面量中的擴(kuò)展運算符、使用數(shù)組解構(gòu)賦值語法中的剩余模式或Array.from實用程序?qū)⒆址_轉(zhuǎn)換為字符數(shù)組。
感謝你的閱讀,希望對你有用。
學(xué)習(xí)更多技能
請點擊下方公眾號
![]()

評論
圖片
表情
