使用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 相关文章推荐
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 Javascript
JQuery中DOM事件冒泡实例分析
Jun 13 Javascript
JavaScript操作select元素和option的实例代码
Jan 29 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
Apr 01 Javascript
javascript Promise简单学习使用方法小结
May 17 Javascript
前端js文件合并的三种方式推荐
May 19 Javascript
JavaScript中Array对象用法实例总结
Nov 29 Javascript
vue数据控制视图源码解析
Mar 28 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
详解vue添加删除元素的方法
Jun 30 Javascript
layui表格内容溢出的解决方法
Sep 06 Javascript
JavaScript中的this妙用实例分析
May 09 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中include()与require()的区别说明
2010/03/10 PHP
php广告加载类用法实例
2014/09/23 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
php递归函数怎么用才有效
2018/02/24 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
JavaScript 创建对象
2009/07/17 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
JS实现小星星特效
2019/12/24 Javascript
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
详解python算法之冒泡排序
2019/03/05 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
国际商务系学生个人的自我评价
2013/11/26 职场文书
高中生学习生活的自我评价
2013/11/27 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
毕业晚会主持词
2014/03/24 职场文书
关于观后感的作文
2015/06/18 职场文书
欠条样本
2015/07/03 职场文书