本文实例讲述了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小时内与您取得联系。