教你如何解决JS/TS里特定String进行拆分然后遍历各个元素
Posted 华为云开发者社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你如何解决JS/TS里特定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));
这里面,我最喜欢用第一种方法,因为我可以在满足获取到所有元素要求的同时,还可以获取到特定的某个元素。
参考资料
- https://www.runoob.com/jsref/jsref-includes.html
- https://flexiple.com/javascript-split-string/
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
- https://stackoverflow.com/questions/8312459/iterate-through-object-properties
以上是关于教你如何解决JS/TS里特定String进行拆分然后遍历各个元素的主要内容,如果未能解决你的问题,请参考以下文章