使用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 函数及作用域总结介绍
Nov 12 Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
js查找节点的方法小结
Jan 13 Javascript
js实现对table动态添加、删除和更新的方法
Feb 10 Javascript
JavaScript中的操作符类型转换示例总结
May 30 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
微信小程序-拍照或选择图片并上传文件
Jan 06 Javascript
利用JS实现文字的聚合动画效果
Jan 22 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
详解vue-cli3 中跨域解决方案
Apr 10 Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 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
php面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
深入理解PHP原理之异常机制
2010/08/21 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
Javascript 对象的解释
2008/11/24 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
vue弹出框组件封装实例代码
2019/10/31 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python sys.argv用法实例
2015/05/28 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python读写csv文件方法详细总结
2019/07/05 Python
pandas 空数据处理方法详解
2019/11/02 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
Python爬取某平台短视频的方法
2021/02/08 Python
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
小学毕业感言150字
2014/02/05 职场文书
仓库规划计划书
2014/04/28 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
员工安全责任书范本
2014/07/24 职场文书
毕业生评语大全
2015/01/04 职场文书