Js数组里删除指定的元素(不是指定的位置)

转载自:http://my.oschina.net/zh119893/blog/265964

之前一直是做后端的,从来也没有写过js,但是却一直想学学,也只是基于兴趣而已!现在到了这个公司,确实大量的写js。但也一直都是没有系统的去看过js!都是搞什么查什么!  
最近要解决一个问题,但是用到了js的数组,知道了元素要去删除这个数组中的这个指定的元素。网上找到了一些解决办法,在这里做个笔记记下来:  
首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:

Array.prototype.indexOf = function(val) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == val) return i;
    }
    return -1;
};  

然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:  
代码为:

Array.prototype.remove = function(val) {
    var index = this.indexOf(val);
    if (index > -1) {
        this.splice(index, 1);
    }
};  

这样就构造了这样一个函数,比如我有有一个数组:

var emp = [‘abs‘,‘dsf‘,‘sdf‘,‘fd‘]  

假如我们要删除其中的fd,就可以使用:

emp.remove(‘fd‘);  
时间: 2024-11-09 22:06:28

Js数组里删除指定的元素(不是指定的位置)的相关文章

js连接多个数组并删除重复的元素

js连接多个数组并删除重复的元素:在实际应用中,可能需要将多个数组合并到一个数组中去,并且删除数组中重复的元素.代码实例如下: var a=["antzone","蚂蚁部落","市南区"], b=["新锐科技","蚂蚁部落","努力奋斗"], c=[2,"新锐科技","js教程"], _a=a.concat(b).concat(c), _hash=

js在数组中删除重复的元素自保留一个

js在数组中删除重复的元素自保留一个 第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 用到两个函数:for ...in 和 indexOf() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <script type="text/javascript"> var student = ['qiang','ming','tao','li','liang','you','qiang'

水贴王之续,找出数组里出现频率最高的元素

找出数组里出现频率最高的元素 个人信息:就读于燕大本科软件工程专业 目前大三; 本人博客:google搜索"cqs_2012"即可; 个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献; 博客内容:水贴王问题之续 博客时间:2014-5-12; 编程语言:Java ; 编程坏境:Windows 7 专业版 x64; 编程工具:jdk,eclipse x64; 制图工具:office 2007 powerpoint; 硬件信息:7G-3 笔记本; 真言: 痛苦的活着比

转: javascript 从数组中删除指定值(不是指定位置)的元素

例如数组{1,2,3,4,5} 要把数组里面的3删除得到{1,2,4,5} <script type="text/javascript"> Array.prototype.indexOf = function(val) { //prototype 给数组添加属性 for (var i = 0; i < this.length; i++) { //this是指向数组,this.length指的数组类元素的数量 if (this[i] == val) return i;

js 数组里求最大值和最小值

// 数组里相邻两个数做比较 取满足条件的那个(以此类推) var arr = [1,3,4,5,6,7]; function Max(array){ var max = array[0]; for(var i=0; i<array.length; i++){ if(max<array[i]) max = array[i]; } return max; } console.log(Max(arr)); function Min(array){ var min = array[0]; for(v

js从数组中删除指定值(不是指定位置)的元素

<script type="text/javascript"> Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; Array.prototype.remove = function(val) { var index = this.indexOf(val); if (

js学习笔记之在数组中删除重复的元素自保留一个

遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 <script type="text/javascript"> var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for(var

js 数组循环删除元素或对象

1.根据不同条件,删除数组中的元素或对象 for(var i=0,flag=true,len=attrList.length;i<len;flag ? i++ : i){ if(attrList[i] && (attrList[i].attrId=='530' || attrList[i].attrId=='534' || attrList[i].attrId=='9')){ attrList.splice(i,1); flag = false; } else { flag = tr

js数组循环删除元素或对象

for(var i=0,flag=true,len=attrList.length;i<len;flag ? i++ : i){ if( attrList[i]&&(attrList[i].attrId=='530'||attrList[i].attrId=='534'||attrList[i].attrId=='9')){ attrList.splice(i,1); flag = false; } else { flag = true; } }