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];