精华内容
下载资源
问答
  • js中数组元素进行增删改移,简单总结了一下方法方法 说明 实例 push( ); 在原来数组的元素最后面添加元素 arr.push(“再见58”); unshift( ); 在原来数组的元素最前面添加元素 arr.shift(“你好58...
  • js查询数组元素索引值的方法

    万次阅读 2019-05-04 16:39:00
    使用js查询数组元素索引值的方法有以下两种。 方法一:使用Array自带的indexOf() 方法 indexOf() 方法可返回数组某个指定的元素位置。 该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在...

    使用js查询数组元素索引值的方法有以下两种。

    方法一:使用Array自带的indexOf() 方法

    indexOf() 方法可返回数组中某个指定的元素位置。
    该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
    如果在数组中没找到指定元素则返回 -1。

    示例:

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.indexOf("Apple");//返回2
    

    缺点:在某些IE版本中,不支持indexOf(),就需要先判断Array是否有indexOf()方法

    var arr=[1,2,3,4]
    if (!Array.indexOf){
        Array.prototype.indexOf=function(obj){
        var i=this.length;
            while(i-=1){
                if(this[i]==obj){
                    return i;
                }
            }return -1;
        }
    }
    arr.indexOf(3);//返回2
    

    方法二:为Array构造一个新的函数,和方法一中不存在indexOf方法时处理一样。

    // 查询元素在数组中的索引值
    Array.prototype.getIndexByValue = function (arr) {
      for (var i = 0; i < this.length; i++) {
        if (this[i] == arr) {
          return i;
        }
      }
      return -1;//没找到则返回-1
    }
    
    // 创建数组arr
    var arr = [1, 2, 3, 4,];
    arr.getIndexByValue(1); // 0
    

    原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe
    95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。
    欢迎留言交流

    展开全文
  • js中删除数组元素方法总结。

    千次阅读 2018-11-22 17:47:57
    今天就整理一下js中删除数组元素方法,包括原生API和自定义API。 原生API: 删除数组最后一个元素,arr.pop(),并返回该元素,对原数组有影响。 删除数组第一个元素,shift(),并返回该元素,对原数组有影响。 ...

    子曰:“学而时习之,不亦说乎?”
    虽然我觉得这里的习字应该理解为实践练习,而不是复习,但是这里权当我理解错了吧o(╯□╰)o。
    今天就整理一下js中删除数组元素的方法,包括原生API和自定义API。

    原生API:

    1. 删除数组最后一个元素,arr.pop(),并返回该元素,对原数组有影响。
    2. 删除数组第一个元素,shift(),并返回该元素,对原数组有影响。
    3. 删除从数组start下标开始,往后count个元素。 splice(start, count),返回删除元素/数组,对原数组有影响。
      {splice的完整用法应该是 splice(start,delCount, item1,item2…),即删除指定元素后,添加一些新元素,如果不写新元素,则为删除效果}

    自定义API:
    4.通过给Array对象的原型对象prototype添加一个新方法来实现。原理是找到传入下标/元素位置后,让后面的数组元素覆盖前面的数组元素,最后数组长度减1.

    /**
     *删除数组指定下标或指定元素。
     */
    Array.prototype.remove = function (obj) {
      for (var i = 0; i < this.length; i++) {//遍历数组。
        var temp = this[i];
        if (!isNaN(obj)) {//判断传入参数是下标数字还是元素。是下标数字,就将temp赋值为i;有个bug,如果传递的元素是‘1234’这样字符串形式的数字,就无法删除。
          temp = i;
        }
        if (temp == obj) {//当遍历到传入的下标/元素位置时,进入下面循环。
          for (var j = i; j < this.length; j++) {//将下标为i之后的元素,往前移动。这样就覆盖了该下标。最后记得数组长度减1.
            this[j] = this[j + 1];
          }
          this.length = this.length - 1;
        }
      }
    }
    
    
    var arr = ['jude', 'wangwang', '1234', '通知制品', {
      uname: 'tom',
      score: 500
    }]
    var str = '1234';
    console.log(arr);
    arr.remove(2);
    arr.remove('jude')
    console.log(arr);
    
    展开全文
  • JS中,有时我们需要查询某个数组中指定元素的个数,并没有方法可以直接统计指定元素个数的,我们可以借助JS数组提供的filter()方法来间接实现。先来看看这个方法,代码如下: <script> var myArrays = new ...

    在JS中,有时我们需要查询某个数组中指定元素的个数,并没有方法可以直接统计指定元素个数的,我们可以借助JS数组提供的filter()方法来间接实现。先来看看这个方法,代码如下:

    <script>
    	var myArrays = new Array();
    	for(var i=1;i<=10;i++) {
    		myArrays.push(i);
    	}
    	console.log(myArrays);
    
        // filter方法过滤,返回数组,并不会影响原数组
    	var newArrays = myArrays.filter(function(res){
    		return res == 5;
    	});
    	console.log(newArrays);
    </script>
    

    控制台:
    在这里插入图片描述
    可以看到,filter()方法会返回一个数组,这个数组中只包含满足指定条件的元素,那么统计一个数组中某元素的个数,我们可以这样写:

    <script>
    	var myArrays = new Array(1,4,5,1,41,4,1,54,123,1);
    	console.log(myArrays);
    
        // 自定义方法,统计数组中指定元素个数
    	function countNum(arr,res) {
    		var newArrays = arr.filter(function(item){
    			return item == res;
    		});
    		return newArrays.length;
    	}
    	console.log("数组长度:" + myArrays.length);
    	console.log("原数组中1的个数:" + countNum(myArrays,1));
    	console.log("原数组中4的个数:" + countNum(myArrays,4));
    	console.log("原数组中5的个数:" + countNum(myArrays,5));
    	console.log("原数组中41的个数:" + countNum(myArrays,41));
    	console.log("原数组中54的个数:" + countNum(myArrays,54));
    	console.log("原数组中123的个数:" + countNum(myArrays,123));
    </script>
    

    查看控制台:
    在这里插入图片描述
    输出结果是没问题的,原理实际上是将原数组中的指定元素加入到一个新的数组中,然后统计这个数组的容量长度来实现的,比较简单,记录一下。

    展开全文
  • 本文实例讲述了JavaScript删除数组元素方法。分享给大家供大家参考。具体分析如下: JS中可以通过delete删除数组元素,但是删除后数组的大小不会改变 [removed] <!-- var days = ["Sunday","Monday","Tuesday...
  • 主要介绍了javascript 删除数组元素和清空数组的简单方法的相关资料,需要的朋友可以参考下
  • JS如何从一个数组随机取出一个元素或者几个元素呢?其实方法很简单,下面小编给大家分享了JS随机取出几个数组元素方法,非常不错,需要的朋友参考下
  • JS中去除数组中重复元素方法

    千次阅读 2019-08-20 20:52:02
    JS中去除数组中重复元素方法 第一种方法:使用数组中的splice方法 splice():删除元素,并向数组添加新元素,并返回被删除的元素 function f1(){ var _arr=[8,5,0,3,1,8,5,0,3,1,8,8,8,5,2,2,2]; for(n=0;n<_...

    JS中去除数组中重复元素的方法

    第一种方法:使用数组中的splice方法

    splice():删除元素,并向数组添加新元素,并返回被删除的元素

    function f1(){
            var _arr=[8,5,0,3,1,8,5,0,3,1,8,8,8,5,2,2,2];
            for(n=0;n<_arr.length-1;n++){//循环数组的所有元素
                for(i=n+1; i<_arr.length;i++){//拿下标为n的元素和它后面的所有元素进行比较
                    if(_arr[n]==_arr[i]){//如果第i位上的元素和第n上的元素相等就删除
                        _arr.splice(i--,1);//使用splice方法删除重复的元素
                        /**使用i--的原因
                         *splice()方法两个参数的含义:
                         *第一个参数是从下标为多少的位置开始
                         *第二个参数是从开始的位置往后删除几个元素
                         *例如splice(1,2)就是从下标为1的地方开始向后删除2个元素
                         *使用i--是因为:
                        *用第一个8为例,当它和i=5位置上的8相比较时,数值相等,就需要进行删除,
                         *_arr.splice(i--,1)是先执行_arr.splice(i,1),然后i再进行--的(因为右--不参加本次运算,本次运算结束后i才会自减1)
                         *删除第一个8时是_arr.splice(5,1)把下标为5的位置上的8删除,然后这个下标就会空出来,后面的数会向前移动
                         *也就是下标5上面此时会变成后面一位的数值5,i--后i变成4然后去执行for循环里的i++再次变为5,再用下标5上的数和8进行比较
                         *如果不进行i--,i就是5然后再去执行for循环里的i++会变成6,等于就把下标为5上的数给漏掉了,也就是没有用5和8进行比较
                        */
                    }
                }
            }
            console.log(_arr);//输出[8,5,0,3,1,2]
          }
          f1();
    
    
    第二种方法:使用indexOf()

    indexOf():用来检测指定的子字符串值在字符串中首次出现的位置,

    这种方法较简单,但是低版本浏览器可能不兼容indexOf()方法

    indexOf()方法如果要检索的字符串没有出现,则返回-1

    function f2(){
                var _arr=[8,5,0,3,1,8,5,0,3,1,8,8,8,5,2,2,2];
                var _empty=[];//声明一个空数组
                for(n=0;n<_arr.length;n++){//循环_arr数组中元素
                    //判断_empty数组中是否有_arr数组中的第n个元素,小于0就是没有
                    //如果没有就把这个元素添加到_empty数组中
                    if(_empty.indexOf(_arr[n])<0){
                        _empty.push(_arr[n]);//push()也是数组中的一个方法,用来向数组的末尾添加元素
                    }
                    
                }
                 _arr=_empty;//把数组_arr赋值为_empty,也可以直接输出_empty
                 console.log(_arr);//输出[8,5,0,3,1,2]
          }
          f2();
    
    第三种方法:兼容第二种写法
    function f3(){
           var _arr=[8,5,0,3,1,8,5,0,3,1,8,8,8,5,2,2,2];
           var _empty=[];
           var _flag=0;//声明一个变量用来做标记,初始值为0
            for(n=0; n<_arr.length; n++){//循环_arr数组
                for(i=0; i<_empty.length; i++){//循环数组_empty
                    //使_arr中的第n个元素和_empty中的每一个元素进行比较
                    if(_arr[n]==_empty[i]){
                        _flag=1;//如果_arr中第n个元素和_empty中的某个元素相等,就给标记_flag赋值为1
                        break;//如果有一个相等的就可以结束循环了
                    }
                    
                }
                if(_flag==0){//如果_flag==0,即_arr数组中的元素和_empty中的每个元素都不相等
                    _empty.push(_arr[n]);//把这个元素添加到_empty中
                }
                _flag=0;//每次对_empty循环完毕都需要把标记_flag的值初始为0
            }
            _arr=_empty;//把_empty赋值给_arr,也可以直接打印_empty
            console.log(_arr);//输出[8,5,0,3,1,2]
          }
          f3();
    
    第四种方法:使用字面量对象:利用字面量对象中的键是唯一的特性
    function f4(){
           var _arr=[8,5,0,3,1,8,5,0,3,1,8,8,8,5,2,2,2]; 
           var _obj={};//声明一个字面量对象
                for(n=0;n<_arr.length;n++){//循环_arr数组中的元素
                    _obj[_arr[n]]=_arr[n];//_obj[_arr[n]]意思是给字面量对象_obj添加一个属性_arr[n]
                                          //_obj[_arr[n]]=_arr[n]是把_arr[n]赋值给属性_arr[n]
                                          //例如n=0时,_obj[arr[0]]=_arr[n]就是在字面量对象中添加了一个键值对
                                          //_obj={8:8},然后当循环到第二个8时,由于字面量对象中只能有一个键是8,所以会覆盖前面与它相同的键
                    
                }
                var _temp=[];//声明一个空数组
                for(var k in _obj){//遍历字面量对象_obj中的属性并赋值给k
                _temp.push(_obj[k]);//通过_obj[k]访问_obj中属性k的值,然后放进空数组
                }
                console.log(_temp);
          }
          f4();
    
    展开全文
  • 主要介绍了JavaScript按值删除数组元素方法,涉及javascript操作数组的相关技巧,非常具有实用价值,需要的朋友可以参考下
  • 总结一下 JS中提供的方法可以对数组元素进行增、删、改、查以及其他方法 一、增加元素 1、push() push可接收任意数量的参数,把它们逐个添加至数组末尾,并且可以返回修改后数组的长度。 例子: var arr = [];...
  • 主要给大家介绍了关于javascript删除数组元素的七个方法,文中通过示例代码介绍的非常详细,对大家学习或者使用javascript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 在实际开发当中,我们经常会遇到类似诸如下面的需求: 获取满足特定条件的数组中的所有...我们可以使用Array.filter()方法数组中查找满足特定条件的元素。 例如,如果我们要获取大于10的数字数组中的所有项目,..
  • js删除数组元素方法 总结

    千次阅读 2018-02-28 11:05:36
    方法一:delete arr[x] 用delete删除后,数组的长度length不会发生变化,此时arr[x]变为undefined。 好处:delete arr[x]后数组的索引保持不变。 var arr = [1,true,{},"a"]; delete arr[0]; /*输出*/ ...
  • 下面小编就为大家带来一篇js删除数组元素、清空数组的简单方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 一:splice方法介绍 splice(index,len,item) ... index: 数组开始下标 len: 替换/删除的长度 item: 替换的值,注意若为删除操作的话此参数为空。 二:splice使用的实例。 var arr = ['a','b...
  • JavaScript中如何创建一个数组,以及数组所具有的方法和属性 创建js数组的语法: var arrayObj = new Array();  var arrayObj2 = new Array(5); var arrayObj3 = new Array(1, 2,..., 3); var arrayObj4 = [1,2,...
  • JavaScript中数组方法总结+详解

    千次阅读 多人点赞 2020-11-28 17:15:12
    JavaScript 数组的力量隐藏在数组方法中。 1. js常用数组方法 方法名 功能 返回值 是否改变原数组 版本 push() 在数组最后一位添加一或多个元素 返回长度 Y ES5- unshift() 在数组前添加一或多个元素 ...
  • 主要给大家介绍了关于Javascript循环删除数组中元素的几种方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • jQuery 用到的是$().slice(index)的这个方法. $("#SID option:selected").slice(0) js中 $("#SID option:selected")[0] 将jquery转成 js对象,直接[index] 来获取. jQuery查询后保存的是一组js数据.直接[] 来获取.
  • 颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组元素的顺序。 语法: arrayObject.reverse() 注意:该方法会改变原来的数组,而不会创建新的数组。 定义数组myarr并赋值,然后颠倒其...
  • 主要介绍了javascript删除数组重复元素方法,实例汇总了几种常用的javascript删除数组重复元素的技巧,需要的朋友可以参考下
  • javascript如何判断数组元素是否重复的方法集锦
  • js中数组中添加元素unshift() 方法

    万次阅读 2019-08-16 00:36:28
    将新项添加到数组起始位置: 实例 将新项添加到数组起始位置: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.unshift("Lemon","Pineapple"); fruits将输出: Lemon,Pineapple,Banana,Orange,...
  • 主要介绍了JavaScript中将数组元素转换为字符串的方法,是JS入门学习的基础知识,需要的朋友可以参考下
  • 代码如下: //数组移除长度方法 var array=[]; array[0]=”张三”; array[1]=”李四”; array[2]=”王五”; array[3]=”赵六”; array[4]=”百度”; function remove(array,index){ if(index<=(array.length-1)){ ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 330,289
精华内容 132,115
关键字:

js中查询数组元素的方法