使用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 相关文章推荐
父子窗体间传递JSON格式的数据的代码
Dec 25 Javascript
JS前端框架关于重构的失败经验分享
Mar 17 Javascript
JavaScript加强之自定义callback示例
Sep 21 Javascript
javascript使用call调用微信API
Dec 15 Javascript
jQuery中prependTo()方法用法实例
Jan 08 Javascript
jQuery 如何实现一个滑动按钮开关
Dec 01 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
Jan 19 Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 Javascript
详解jQuery获取特殊属性的值以及设置内容
Nov 14 jQuery
微信小程序实现的canvas合成图片功能示例
May 03 Javascript
vue新建项目并配置标准路由过程解析
Dec 09 Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
php简单静态页生成过程
2008/03/27 PHP
php,ajax实现分页
2008/03/27 PHP
php 远程关机操作的代码
2008/12/05 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Django数据库表反向生成实例解析
2018/02/06 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
常务副总经理岗位职责
2014/04/12 职场文书
监察建议书格式
2014/05/19 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
先进个人事迹材料范文
2014/12/30 职场文书