全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript数据结构之串的概念与用法分析

本文实例讲述了javascript数据结构之串的概念与用法。分享给大家供大家参考,具体如下:

串是由零个或多个字符组成的有限序列。串中字符的个数称为串的长度

串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。通常称字符在序列中的序号为该字符在串中的位置。子串的首字符在主串中首次出现的位置定义为子串在主串中的位置。

串的逻辑结构和线性表十分相似,区别仅仅在于串的数据对象约束为字符集。然而两者的基本操作有很大差别。线性表中,基本以单个元素来进行操作;而串中多半以串的整体也就是子串来作为操作对象

JavaScript有很多串的方法吗,具体的请查阅api。
https://developer.mozilla.org/en-US/

这里我们挑一个来看看,比如indexOf,该方法返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。我们来模拟一下这个方法的实现:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
<script type="text/javascript">
  function index(a,b,pos){
    //a为主串,b为要寻找的子串,pos为开始寻找的位置
    if(pos>0){
      var a_len=a.length,
        b_len=b.length,
        i=pos;
      while(i<=a_len-b_len+1){
    //从第i个位置取和子串长度相等的进行比较,如果没有找到则继续i+1
        var c=a.substr(i,b_len);
        if(c==b)
        return i;
        i++;
      }
    }
    return false;
  }
  var a="abcdefg";
  var b="def";
  var c=index(a,b,1);
  alert(c);//3
  alert(a.indexOf(b,1));//3
</script>
  </body>
</html>

这个思想其实很简单,就是在主串中取从第i个字符起,长度和要寻找的串相等的子串进行比较,直到找到为止。所以说我们在运用一些原生的api时,如果能够知道其实现的原理,就可以更好的驾驭它们。当然,该方法还可以改进,我在以后的文章中会介绍的。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# javascript  # 数据结构  #   # C数据结构中串简单实例  # C语言数据结构中串的模式匹配  # c语言 数据结构实现之字符串  # C++语言数据结构 串的基本操作实例代码  # JavaScript数据结构中串的表示与应用实例  # JavaScript中数据结构与算法(四):串(BF)  # 数据结构基本概念和术语之位字节、字、位串、元素等  # 数据结构串的操作实例详解  # 如果没有  # 为该  # 我在  # 相关内容  # 还可以  # 首次  # 多个  # 有很多  # 是由  # 线性表  # 遍历  # 感兴趣  # 给大家  # 来看看  # 更多关于  # 所述  # 程序设计  # 中会  # 就可以 


相关文章: 网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何通过cPanel快速搭建网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  中山网站推广排名,中山信息港登录入口?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何破解联通资金短缺导致的基站建设难题?  表情包在线制作网站免费,表情包怎么弄?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站主机服务器选型指南与性能优化方案解析  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  专业公司网站制作公司,用什么语言做企业网站比较好?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  威客平台建站流程解析:高效搭建教程与设计优化方案  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  如何在云主机上快速搭建多站点网站?  个人网站制作流程图片大全,个人网站如何注销?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  建站之家VIP精选网站模板与SEO优化教程整合指南  实例解析Array和String方法  历史网站制作软件,华为如何找回被删除的网站?  C#怎么使用委托和事件 C# delegate与event编程方法  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  javascript中对象的定义、使用以及对象和原型链操作小结  制作农业网站的软件,比较好的农业网站推荐一下?  建站主机默认首页配置指南:核心功能与访问路径优化  建站主机助手选型指南:2025年热门推荐与高效部署技巧  代刷网站制作软件,别人代刷火车票靠谱吗?  建站主机功能解析:服务器选择与快速搭建指南  建站之星备案流程有哪些注意事项?  名字制作网站免费,所有小说网站的名字?  建站之星安装模板失败:服务器环境不兼容?  安徽网站建设与外贸建站服务专业定制方案  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  如何选择美橙互联多站合一建站方案?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何选择高效响应式自助建站源码系统?  如何解决ASP生成WAP建站中文乱码问题?  如何在Windows 2008云服务器安全搭建网站?  香港服务器如何优化才能显著提升网站加载速度?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何在景安云服务器上绑定域名并配置虚拟主机?  如何通过西部建站助手安装IIS服务器? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。