当前位置:   article > 正文

JS中删除数组中的元素_js 去掉数组的第二个元素

js 去掉数组的第二个元素

前言:主要记录一下数组在js中的使用问题。
一、基本操作
1、数组的创建
主要有两种方式:

var arr1 = new Array();
var arr2 = [",",",","];
  • 1
  • 2

2、数组赋值

arr1.push('value');
var arr1 = new Array();
var arr2 = ['html','js','jsp','css'];
arr1.push('java');
arr1.push('db');
arr1.push('sql');
arr1.push('c#');
arr1.push('oracle');
alert("arr1=="+arr1);
alert("arr2=="+arr2);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出为 arr1 == java ,db , sql , c# , oracle
arr2 == html , js , jsp , css

3、根据给定索引删除数组值

arr1.splice(index,n);  //index:数组中需要删除数据的起始位置;n:需要删除的元素,数据的个数。
alert("arr1=="+arr1);

arr1.splice(2,1);
alert("arr1=="+arr1); 
arr2.splice(0,arr2.length); 
alert("arr2=="+arr2);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出为 arr1 == java ,db , c# , oracle 数组索引为2 的值被删除了

arr2 == 数组中的所有元素全被删除了

4、根据索引位置插入元素

array.splice(index,0,data1,data2,...);
index:数组中需要插入数据的起始位置;
0:删除的个数为0;
data1,data2:需要插入的元素,用逗号隔开
  • 1
  • 2
  • 3
  • 4

5、根据索引位置替换元素

array.splice(index,n,data1,data2,......);
index:需要替换的元素的起始位置;
n:需要替换的元素的个数,实质是删除;
data1,data2:需要插入元素,用逗号隔开;
总的来说,splice实质上是通过删除元素来实现插入、删除、替换的;
  • 1
  • 2
  • 3
  • 4
  • 5

6、根据给定值删除数组值
自定义的方法:

function removeByValue(arr,val){
	for(var i = 0;i<arr.length;i++){
		if(arr[i] == val){
			arr.splice(i,1);
			break;
		}
	}
}
其中:arr是数组名,val是要删除的元素。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

附:操作数组的方法
①push 在数组尾部添加,返回添加后的数组元素的个数;
②unshift 在数组头部添加,返回数组添加后元素的个数;
③shift 删除数组的第一个元素,返回被删除的元素;
④pop 删除数组的最后一个元素,返回被删除的元素;
⑤splice 删除、插入、替换 执行的是操作,改变原数组的值,不返回任何值;
⑥slice(start,end) 截取数组的一部分,返回截取的数组,start为起始位置,end为结束为止,不包括结束的位置元素;
⑦concat a.concat(b) 将两个数组拼接在一起,返回一个拼接后的新数组,且a内部的元素在新数组的前部;
⑧toString 将数组转换成字符串,返回一个字符串,toLocalString实现与、toString方法类似,不过在IE下会出现兼容性问题,比如字符串前后出现空格,数字出现小数,导致length属性变化,所以尽量使用string;
⑨join("&") 将数组以&符号间隔转换为字符串,返回一个字符串;
⑩sort(function(a,b){return a-b}) 将数组进行排序,如果没有function函数,则按字符串编码排序,返回操作后的新数组;
⑪reverse() 将数组进行倒序排序,即将数组的顺序颠倒,返回倒序排列后的新数组;
⑫charAt(index)获取字符串制定顺序上的元素,返回要查询位置的元素,不能用于查询数组元素。
二、删除数组元素的方法
(1)删除指定下标数组元素

//删除指定下标数组元素
Array.prototype.del = function(index){
	if(isNaN(index)||index>=this.length){
		return false;
	}
	for(var i=0,n=0;i<this.length;i++){
		if(this[i] != this[index]){
			this[n++] = this[i];
		}
	}
	this.length -= 1;
};
//删除指定元素
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);
	}
};
function a(){
	var arr = [1,2,3,4,5];
	alert(arr.toString());
	arr.remove(3);
	alert(arr.toString());
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

第一种调用方式:arr.del(0);
参考博客:JS之删除数组中的元素 https://blog.csdn.net/spurs611/article/details/81981027
JS中删除数组中的元素方法 https://www.cnblogs.com/ryans/p/6553921.html

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号