天天看點

4 種将字元串轉換為字元數組的方法

4 種将字元串轉換為字元數組的方法

英文 | https://javascript.plainenglish.io/4-ways-of-transforming-a-string-into-an-array-of-characters-8649e3abfd8d

翻譯 | 楊小二

在某些情況下,我們希望将字元串轉換為字元數組。通常,我們要進行這種轉換以使用強大的數組方法。

以下是可以完成此任務的 4 種方法。

1、split() 方法

常見的轉換技術是split字元串方法,但這也是有問題的一種。

通過使用空字元串作為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、展開運算符

展開運算符 ( ...) 允許在需要多個元素(如數組文字)的地方擴充諸如字元串之類的可疊代對象。

這是将字元串擴充為字元數組的示例。正确處理采用兩個代碼單元的字元。

const text = "abc😎";
const chars = [ ...text ];
console.log(chars);
//["a", "b", "c", "😎"]      

3、解構指派

解構指派文法可以将數組或可疊代對象中的值解包為不同的變量。

在解構數組或可疊代對象時,我們可以使用 rest 模式将其剩餘部分提取到單個變量中。

const text = "abc😎";
const [ ...chars ] = text;
console.log(chars);
//["a", "b", "c", "😎"]      

4、Array.from

Array.from輔助建立從陣列狀或疊代的對象的新數組。字元串既可疊代又類似于數組,是以,可以成功地将其轉換為字元數組。

const text = "abc😎";
const chars = Array.from(text);
console.log(chars);
//["a", "b", "c", "😎"]      

重點說明

該split方法可能是将字元串轉換為字元數組的常用方法,但它不處理采用兩個代碼單元的字元。

我們可以使用對象字面量中的擴充運算符、使用數組解構指派文法中的剩餘模式或Array.from實用程式将字元串正确轉換為字元數組。

感謝你的閱讀,希望對你有用。