使用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之undefined篇(上)
Nov 22 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
Oct 11 Javascript
JQuery入门——事件切换之hover()方法应用介绍
Feb 05 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
Oct 17 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 Javascript
浅谈JavaScript中数组的增删改查
Jun 20 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
在vue+element ui框架里实现lodash的debounce防抖
Nov 13 Javascript
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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
9个比较实用的php代码片段
2016/03/15 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python dlib人脸识别代码实例
2019/04/04 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
如何基于python实现归一化处理
2020/01/20 Python
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
会计电算化应届生求职信
2013/11/03 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
Python学习开发之图形用户界面详解
2021/08/23 Python
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android