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


Posted in Javascript onSeptember 18, 2013
<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 相关文章推荐
JavaScript创建命名空间(namespace)的最简实现
Dec 11 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
jQuery实现背景弹性滚动的导航效果
Jun 01 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
Jul 14 Javascript
示例vue 的keep-alive缓存功能的实现
Dec 13 Javascript
js中的深浅拷贝问题简析
May 10 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
vue项目部署到nginx/tomcat服务器的实现
Aug 26 Javascript
微信小程序列表时间戳转换实现过程解析
Oct 12 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
JSON 数字排序多字段排序介绍
Sep 18 #Javascript
json数据与字符串的相互转化示例
Sep 18 #Javascript
如何让DIV可编辑、可拖动示例代码
Sep 18 #Javascript
jQuery extend 的简单实例
Sep 18 #Javascript
Javascript中Event属性搜集整理
Sep 17 #Javascript
js获取html文件的思路及示例
Sep 17 #Javascript
JS的Document属性和方法小结
Sep 17 #Javascript
You might like
PHP 存储文本换行实现方法
2010/01/05 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php比较相似字符串的方法
2015/06/05 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
动态加载js的几种方法
2006/10/23 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
python使用win32com库播放mp3文件的方法
2015/05/30 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
python requests.get带header
2020/05/05 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
远程调用的原理
2014/07/05 面试题
服装厂厂长职责
2013/12/16 职场文书
超市促销活动方案
2014/03/05 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书