您现在的位置是:首页 > 电脑技术查询 > web开发

js删除数组元素跟对数组的操作

编辑:chaxungu时间:2022-10-10 23:23:34分类:web开发

js删除数组元素和对数组的操作

1. 删除指定元素

  js从数组中删除指定值的元素,注意是指定值,而不是指定位置。 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素

 

Js代码 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 (index > -1) {//判断            this.splice(index, 1);//删除元素        }    };      var array = [1, 2, 3, 4, 5];    array.remove(3);//传参  

 2.删除一个元素类型为object 的数组元素

 

Js代码 //创建对象  var obj1 = {key:"key1",name:'name1_1'};  var obj2 = {key:"key2",name:'name1_1'};  var obj3 = {key:"key3",name:'name2_2'};  var obj4 = {key:"key4",name:'name2_2'};  //放入数组  var array1 = [obj1,obj2,obj3,obj4];    //delete by key  var delKey = "key2";  for(var i=0;i<array1.length;i++)//遍历数组  {      var keyTemp = array1[i].key;      if(keyTemp===delKey)//判断      {          array1.splice(i,1);//删除元素      }          console.log(array1[i]);          //输出    Object {key: "key1", name: "name1_1"}       Object {key: "key3", name: "name2_2"}         Object {key: "key4", name: "name2_2"}  }  

 3.对数组元素操作

 

Js代码 var arr = [ 1, 2, 3, 4, 5 ];  //原始数组  alert("原始数组:" + arr);// 1,2,3,4,5  //删除并且返回第一个元素  alert("执行arr.shift() 返回 :" + arr.shift());//1  alert("数组:" + arr);//2,3,4,5  //删除并且返回最后一个元素  alert("执行arr.pop() 返回:" + arr.pop());//5  alert("数组:" + arr);//2,3,4  //在数组开头添加一个或者多个元素,返回数组新长度  alert("执行arr.unshift('one') 返回:" + arr.unshift("one"));//4  alert("数组:" + arr);//one,2,3,4  //在数组尾部添加一个或者多个元素,返回数组新长度  alert("执行arr.push('end') 返回:" + arr.push("end"));//5  alert("数组:" + arr);//one,2,3,4,end  //从第i个位置开始删除n个元素,返  arr.splice(0, 1);  alert("执行arr.splice(0,1) ");  alert("数组:" + arr);//2,3,4,end  //从第i个位置开始,删除n个元素,并且在这个位置插入s个元素  arr.splice(0, 0, "one");  alert("执行arr.splice(0,0,'one')");  alert("数组:" + arr);//one,2,3,4,end   //从某个已有的数组返回选定的元素,组成新的数组;    arr.slice(1,3);   //返回值为新数组:[2,3];   //拼接两个数组 返回一个新数组  var arr_1=[6];  arr_1.concat(arr)//[1,2,3,4,5,6];   //把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分隔;  var array=['hello','world'];    array.join('-');       //结果为hello-world;      //把数组转换为字符串,并返回   array.toString();  //结果为hello,world;    var array1=[5,6,4,1,3,2];    array1.sort();    //对数组的元素进行排序,请注意:数组在原数组上进行排序,不生成副本;      //数组array1变为:[1,2,3,4,5,6];   //颠倒数组中元素的顺序,该方法会改变原来的数组,而不会创建新的数组;  array1.reverse();      //array1数组变为:[6,5,4,3,2,1];