使用indexOf等在JavaScript的数组中进行元素查找和替换

 更新时间:2013年09月18日 15:46:58   作者:  
使用slice、replace、indexOf等等在JavaScript的数组中进行元素的查找和替换,感兴趣的朋友可以学习下
复制代码 代码如下:

<html>
<head>
<title> Extend JavaScript Array Method </title>
<script language="javascript">
<!--
Array.prototype.indexOf=function(substr,start){
var ta,rt,d='\0';
if(start!=null){ta=this.slice(start);rt=start;}else{ta=this;rt=0;}
var str=d+ta.join(d)+d,t=str.indexOf(d+substr+d);
if(t==-1)return -1;rt+=str.slice(0,t).replace(/[^\0]/g,'').length;
return rt;
}

Array.prototype.lastIndexOf=function(substr,start){
var ta,rt,d='\0';
if(start!=null){ta=this.slice(start);rt=start;}else{ta=this;rt=0;}
ta=ta.reverse();var str=d+ta.join(d)+d,t=str.indexOf(d+substr+d);
if(t==-1)return -1;rt+=str.slice(t).replace(/[^\0]/g,'').length-2;
return rt;
}

Array.prototype.replace=function(reg,rpby){
var ta=this.slice(0),d='\0';
var str=ta.join(d);str=str.replace(reg,rpby);
return str.split(d);
}

Array.prototype.search=function(reg){
var ta=this.slice(0),d='\0',str=d+ta.join(d)+d,regstr=reg.toString();
reg=new RegExp(regstr.replace(/\/((.|\n)+)\/.*/g,'\\0$1\\0'),regstr.slice(regstr.lastIndexOf('/')+1));
t=str.search(reg);if(t==-1)return -1;return str.slice(0,t).replace(/[^\0]/g,'').length;
}

window.onload=function(){
var a=new Array('aa1321321','b4323424b','cc345345','dd4654','dd4654','b4323424b');
document.getElementById('t1').value=a.toString();
//document.getElementById('t2').value=a.indexOf('cc345345');
//document.getElementById('t3').value=a.lastIndexOf('dd4654');
document.getElementById('t4').value=a.replace('b4323424b','*');//把第一个b4323424b替换成*
document.getElementById('t5').value=a.search(/dd4654/);//未找到返回-1
};
//-->
</script>
<style type="text/css">
<!--
input{width:600px}
//-->
</style>
</head>

<body>
<table>
<tr><td>数组a:</td><td><input id="t1" type="text" /></td></tr>
<tr><td>a.indexOf('cc345345'):</td><td><input id="t2" type="text" /></td></tr>
<tr><td>a.lastIndexOf('dd4654'):</td><td><input id="t3" type="text" /></td></tr>
<tr><td>a.replace(/\d/g,'*'):</td><td><input id="t4" type="text" /></td></tr>
<tr><td>a.search(/dd4654/):</td><td><input id="t5" type="text" /></td></tr>
</table>
</body>
</html>

相关文章

  • javascript中expression的用法整理

    javascript中expression的用法整理

    在学习javaScript, 学到regular expression的时候见知识点有些杂乱,于是将其整理了一些在本文与大家分享
    2014-05-05
  • JavaScript HTML DOM元素 节点操作汇总

    JavaScript HTML DOM元素 节点操作汇总

    这篇文章主要介绍了JavaScript HTML DOM元素 节点操作汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 微信小程序实现发送短信验证码倒计时

    微信小程序实现发送短信验证码倒计时

    这篇文章主要为大家详细介绍了微信小程序实现发送短信验证码倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • JavaScript 新手24条实用建议[TUTS+]

    JavaScript 新手24条实用建议[TUTS+]

    本文列出了24条能让你的代码编写过程更为轻松高效的建议。也许您还是JavaScript初学者,刚刚写完自己的Hello World,那这里有很多对您的工作将十分有用的小贴士;也许有些技巧您已经知道,那就试试快速浏览一下,看能不能发现一点新东西吧!
    2009-06-06
  • JS仿百度自动下拉框模糊匹配提示

    JS仿百度自动下拉框模糊匹配提示

    这篇文章主要介绍了JS仿百度自动下拉框模糊匹配提示 的相关资料,需要的朋友可以参考下
    2016-07-07
  • JavaScript实现点击复制功能具体代码(JS访问剪贴板相关)

    JavaScript实现点击复制功能具体代码(JS访问剪贴板相关)

    这篇文章主要给大家介绍了关于JavaScript实现点击复制功能(JS访问剪贴板相关)的相关资料,复制功能指的是将一个文本或者图片等资源从一个位置通过复制的方式再次拷贝到另一个位置,需要的朋友可以参考下
    2023-10-10
  • webpack动态加载与打包方式

    webpack动态加载与打包方式

    webpack有两种组织模块依赖的方式,同步和异步,这篇文章主要介绍了webpack动态加载与打包方式,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • canvas实现简易的圆环进度条效果

    canvas实现简易的圆环进度条效果

    本文主要分享了canvas实现简易的圆环进度条效果的实例,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 微信小程序与axios组成网络层封装过程详解

    微信小程序与axios组成网络层封装过程详解

    小程序在网络层提供的API是能够完成一个程序与服务端交互的完整链路,但需要大量的定制化代码,才能实现请求拦截和响应拦截,不太符合大多数开发者的使用习惯,对于前端开发者来说,网络层还得是axios
    2023-02-02
  • 微信小程序新手教程之启动页的重要性

    微信小程序新手教程之启动页的重要性

    这篇文章主要给大家介绍了关于微信小程序新手教程之启动页重要性的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03

最新评论