写点什么

教你如何解决 JS/TS 里特定 String 进行拆分然后遍历各个元素

  • 2022 年 3 月 11 日
  • 本文字数:1031 字

    阅读完需:约 3 分钟

本文分享自华为云社区《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

// 方法1for (let i = 0; i < quesArr.length; ++i) {    console.log(quesArr[i]);}
// 方法2for (let i in quesArr) { console.log(quesArr[i]);}
// 方法3for (const v of quesArr) { console.log(v);}
// 方法4quesArr.forEach((v, i) => console.log(v));
复制代码

这里面,我最喜欢用第一种方法,因为我可以在满足获取到所有元素要求的同时,还可以获取到特定的某个元素。

参考资料

  1. https://www.runoob.com/jsref/jsref-includes.html

  2. https://flexiple.com/javascript-split-string/

  3. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

  4. https://stackoverflow.com/questions/8312459/iterate-through-object-properties


点击关注,第一时间了解华为云新鲜技术~​

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
教你如何解决JS/TS里特定String进行拆分然后遍历各个元素_JavaScript_华为云开发者社区_InfoQ写作平台