使用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 自动完成脚本整理(33个)
Oct 20 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
Aug 18 Javascript
容易造成JavaScript内存泄露几个方面
Sep 04 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
Vue生命周期示例详解
Apr 12 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
Mar 17 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
Sep 29 Javascript
JS立即执行的匿名函数用法分析
Nov 04 Javascript
Three.js实现雪糕地球的使用示例详解
Jul 07 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日历程序
2006/12/06 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
Python解释执行原理分析
2014/08/22 Python
python插入数据到列表的方法
2015/04/30 Python
Python使用gensim计算文档相似性
2016/04/10 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
详解Python with/as使用说明
2018/12/13 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
容易被忽略的Python内置类型
2020/09/03 Python
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
天游软件面试
2013/11/23 面试题
高中班主任评语大全
2014/04/25 职场文书
篝火晚会策划方案
2014/05/16 职场文书
2015年服务员工作总结
2015/04/08 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技