当前位置: 首页 > news >正文

广州网站制作公司排名app免费下载网站地址进入

广州网站制作公司排名,app免费下载网站地址进入,济南想建设网站,wordpress关闭验证码我们在工作中#xff0c;经常会遇到把字符串切割成数组的情况#xff0c;官方也为我们提供了 stringObject.split(separator,howmany) 方法#xff0c;实例#xff1a; const str 开心哈哈哈哈#xff0c;悲伤哈哈哈#xff0c;快乐哈哈哈#xff0c;是你#xff0c;…我们在工作中经常会遇到把字符串切割成数组的情况官方也为我们提供了 stringObject.split(separator,howmany) 方法实例 const str 开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤 console.log(str.split(,))// 结果 // [开心哈哈哈哈, 悲伤哈哈哈, 快乐哈哈哈, 是你, 开始, 开心, 悲伤]但它只能以 某一个字符 进行分割并且分割完之后该字符 split(‘开心’) 里的‘开心’ 会被 的 ‘,’ 替换掉不能保留原始的 字符串。 现在我们有这样一个需求把 ‘开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤’ 这个字符串按照 [’‘开心’, ‘悲伤’] 这两个字符进行切分并且得到的数组能够完全保留原始字符串 // 输入 const str 开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤// 处理 const result splitFun(str)// 输出 console.log(result) [开心, 哈哈哈哈, 悲伤, 哈哈哈快乐哈哈哈是你开始, 开心, , 悲伤]//最终我们再把 输出的数组 渲染到页面上能够得到 与原始字符串 完全相同的字符串// react: result || []).map(item span{item}/span)// vue: span v-foritem in result :keyitem{{item}}/span// 开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤 思路梳理 1、 实现 字符串分割为数组 有很多方式split, slice正则表达式…等等方法最简单的还是采用 split 。 2、 虽然 split 一次只能以一个字符进行分割但是我们通过 轮询for循环的方式多执行几次应该是可以达到效果当我们 第一次把一个字符串 按照第一个字符 分割成为数组之后还需要对数组里面的 每一项 按照第二个字符 进行分割, 以此类推 可以实现按照多个字符串进行分割。 3、 split 以某个字符 切割完之后这个字符就被替换为 ‘’ 了要想保留原始字符必须在每次 split 之后将这个字符插入进去。 第一步轮询 分割字符 数组 // 为什么以数组的形式存放 该字符串当我们 第一次把一个字符串 按照第一个字符 分割成为数组之后 // 还需要对数组里面的 每一项 按照第二个字符 进行分割这是一个轮询的过程 // 所以一开始我们就以一个数组的形式去存放初始数组。 let array [开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤]const labels [开心, 悲伤]for(let i 0; i labels.length; i) {// 分割字符串操作const twoArray splitFunc(array, labels[i]) }第二步分割字符 const splitFunc (array, label) {// 定义 一个数组 去存放这一轮 最终被分割 好的数组const outArray []// 循环 需要被分割的 数组字符串for(let i 0; i array.length; i) {// 定义 一个数组 去存放 当前项 最终被分割 好的数组let newArr []// 把 当前项 的字符串 按照 传进来 字符进行分割const splitArr array[i].split(label)// 得到分割好的数组后将被 替换为 ‘’ 的 label 追加进数组的相应位置// 例如 ‘开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤’ 以 ‘开心’ 分割// 被分割为 [, 哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始, 悲伤]// , 每一项的末尾就应该应该是 开心 二字最后一项的末尾除外// 遍历被分割好的数组for(let j 0; j splitArr.length; j) {// 向被分割好的数组里 追加 label 字符newArr.push(splitArr[j])// 数组的末尾无需 追加if (j splitArr.length -1) {newArr.push(label)}}// 把当前轮得到 的数组 推到 outArray 里去outArray.push(newArr)}// 返回 outArray 注意 outArray 是一个二维数组return outArray }第三步轮询调用 splitFunc 函数 for(let i 0; i labels.length; i) {// 接收 当前轮 返回的 二维数组const twoArray splitFunc(array, labels[i])// 将二维数组平铺成为 一维数组const oneArray twoArray.reduce(function (a, b) { return a.concat(b)} )// 过滤掉一维数组里的空字符串并把它重新赋值给 array // 下一轮循环将 切割 上一轮 已经被分割好的 数组array oneArray.filter(item item ! )}// 最终循环结束的 array 就是被彻底分割好的数组最终代码 const splitFunc (array, label) {const outArray []for(let i 0; i array.length; i) {let newArr []const splitArr array[i].split(label)console.log(splitArr, splitArr)for(let j 0; j splitArr.length; j) {newArr.push(splitArr[j])if (j splitArr.length -1) {newArr.push(label)}}outArray.push(newArr)}return outArray }let array [开心哈哈哈哈悲伤哈哈哈快乐哈哈哈是你开始开心悲伤]const labels [开心, 悲伤]for(let i 0; i labels.length; i) {const twoArray splitFunc(array, labels[i])const oneArray twoArray.reduce(function (a, b) { return a.concat(b)} )array oneArray.filter(item item ! )}console.log(array, array)为什么需要如此麻烦的 将一个字符串 分割完成 之后在组装渲染到页面上 主要是为了 这些字符里的 关键字符也就是 需要被分割的字符在渲染的时候能够被我们所控制为他设置CSS样式追加点击事件等等达到动态的效果如果仅仅是一个字符串被渲染到页面上这些操作我们将无法控制。 如果以上算法逻辑有不足之处欢迎大家指出教导。
http://www.zqtcl.cn/news/934085/

相关文章:

  • 手机建个人网站c 做网站开发实例
  • 做网站竞价没有点击率教你用模板做网站
  • 网站与域名南宁网络系统开发
  • 网站的域名做邮箱吗怎么建立一个网站让外国人浏览
  • 做建网站的工作一年赚几百万正安县网站seo优化排名
  • 简约手机网站源码深圳市龙华区民治街道
  • 买了个网站后怎么做三明网站优化
  • 表白网页制作免费网站制作西安网站快速优化
  • 如何破解网站后台管理做网站前端用什么软件好
  • 网站建设业务客户来源建德建设局官方网站
  • 网站设计 网站开发 优化网页设计一般尺寸
  • 好的版式设计网站网站建设商标属于哪个类别
  • 做淘宝素材网站哪个好用中国广告公司100强
  • 海拉尔网站建设平台wordpress的插件下载地址
  • 企业服务类网站常用python编程软件
  • 有哪些漫画做的好的网站西安seo建站
  • 在建设部网站如何查询注册信息网站开发项目的前端后端数据库
  • 自助建站网站seo公司wordpress 相册 免费模板
  • 搜索建站网在线crm管理系统
  • 旅游网站管理系统源码wordpress 禁止爬虫
  • 会员登录系统网站建设wordpress 二级页面
  • 北京网站建设公司代理记账代理公司注册
  • 网站建设需要提供的资料物流企业网站建设与管理规划书
  • .net 手机网站开发wordpress下载链接框
  • 省直部门门户网站建设网站视频点播怎么做
  • 广西网站建设-好发信息网做信息图的网站
  • 网站建设费用怎么算遵义市住房和城乡建设局官方网站
  • 网站部分网页乱码手把手教建设网站
  • 电商网站开发目的举报网站建设运行情况
  • 网站专业设计在线科技成都网站推广公司