教你如何解決JS/TS里特定String進行拆分然後遍歷各個元素

摘要:我們需要先判斷特定String里是否包含我們需要的元素,針對這個元素對這個字元串進行拆分,遍歷各個元素。

本文分享自華為雲社區《JavaScript/TypeScript項目里如何對特定String進行拆分然後遍歷各個元素》,作者:gentle_zhou。

我們可以把題目的這個需求拆分一下,變為如下幾步:判斷特定String里是否包含我們需要的元素,針對這個元素對這個字元串進行拆分,遍歷各個元素。

判斷特定String里是否包含我們需要的元素

我們可以用includes()方法來判斷我們要找的一個字元串是否包含在我們特定的字元串中,根據情況返回 true 或 false。

註:include()方法是區分大小寫的。

該方法的默認語法是:str.includes(searchString[, position])。

searchString是我們要在特定字元串中去搜索的字元串;position則是可選的參數,從當前字元串的哪個索引位置開始搜尋子字元串,默認值為 0。

程式碼示例:

let question = 'To be, or not to be, it is a question.';

// 判斷question字元串里是否包含我們需要的元素,
console.log(question.includes(','));    // 會列印出true

針對這個元素對這個字元串進行拆分

JavaScript里,split()方法根據 splitter(分隔符)將字元串拆分為兩個或多個子字元串。分隔符可以是單個字元、另一個字元串甚至是一個正則表達式。

將字元串拆分為多個子字元串後,split()方法會將所有子字元串放入一個數組中並返回;它不會對原始字元串進行任何修改。

程式碼示例:

let question = 'To be, or not to be, it is a question.';

let quesArr = question.split(',');
console.log(quesArr); // 會列印出["To be", "or not to be", "it is a question."]

console.log(arr[0]); // 列印出"To be"
console.log(arr[2]); // 列印出"it is a question."

遍歷各個元素

我們有4種方法去遍歷我們剛得到的數組quesArr。

// 方法1
for (let i = 0; i < quesArr.length; ++i) {
    console.log(quesArr[i]);
}

// 方法2
for (let i in quesArr) {
    console.log(quesArr[i]);
}

// 方法3
for (const v of quesArr) {
    console.log(v);
}

// 方法4
quesArr.forEach((v, i) => console.log(v));

這裡面,我最喜歡用第一種方法,因為我可以在滿足獲取到所有元素要求的同時,還可以獲取到特定的某個元素。

參考資料

  1. //www.runoob.com/jsref/jsref-includes.html
  2. //flexiple.com/javascript-split-string/
  3. //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for…in
  4. //stackoverflow.com/questions/8312459/iterate-through-object-properties

 

點擊關注,第一時間了解華為雲新鮮技術~