Js数组方法

1.数组的增删

push()方法
arr.push(参数1,参数2····,参数n)
向数组的尾部添加元素,返回值是操作数组的长度,他改变的是原来的数组

	var n = arr4.push('李白','白居易');
	console.log(n,arr4);

unshift(参数1,参数2,···,参数n)
向数组的前面添加元素,返回值是操作数组的长度,他改变是原来的数组

	var m = arr4.unshift('杨玉环','西施');
	console.log(m,arr4);

unshift(参数1,参数2,···,参数n)
向数组的前面添加元素
返回值是操作数组的长度,他改变的是原来的数组

	var m = arr4.unshift('杨玉环','西施');
	console.log(m,arr4);

pop(),方法 没有参数
删除数组的最后一个元素
返回值是删除的元素,他改变的是原来的数组

	var arr5 = ['忽必烈','蒙哥','白起','赵云','韩信','兰陵王'];
	var a = arr5.pop();
	console.log(a,arr5);

shift(),方法 没有参数
删除数组的第一个元素
返回值是删除的元素,他改变的是原来的数组

	var b = arr5.shift();
	console.log(b,arr5);

splice(参数1,参数2,参数3)
该方法可以从数组中任意的位置开始,删除,替换和添加任意元素
第一个参数是 指定开始操作的位置也就是数组下标
第二个参数是 指定删除元素的长度,包含开始位置
第三个参数是 该参数的内容替换删除元素的位置,实际上是一个添加元素的操作
返回值是删除的元素组成的数组,如果删除为空则返回空数组
当只有一个参数的时候,从该参数的位置开始,一直删除到最后,返回值是所删除的数组
不写参数,没有任何操作

	var arr6 = ['忽必烈1','蒙哥1','白起1','赵云1','韩信1','兰陵王1'];
//	var sp = arr6.splice(2,2);

//	console.log(sp,arr6);
//	var m = arr6.splice(2,0,'成吉思汗');
//	console.log(m,arr6);
	var n = arr6.splice(3);
	console.log(n,arr6);

数组提取类

indexOf() 获取指定元素的下标
第一个参数 设置要查找的元素
第二个参数 指定从哪一个位置开始查找
返回值是
如果没有找到元素,则返回-1
如果找到元素,则返回元素所在的下标
特点:
1.必须从指定的位置(第二个参数)开始查找
2.如果不写第二个参数,则默认从第一位开始查找
3.第二个参数不能为负值
4.该方法是一个新方法,IE8及其以下不支持

	var arr1 = ['西施','貂蝉','王昭君','杨玉环'];
	var n = arr1.indexOf('王昭君',1);
	console.log(n);

把所有值为西施的数组下标存放到一个新数组中

	var arr2 = ['西施','西施','貂蝉','西施','王昭君','西施','杨玉环'];
	var m = arr2.indexOf(arr2);
	
	var arr3 = [];
	for (var i=0;arr2.indexOf('西施',i)!=-1;){
		var temp = arr2.indexOf('西施',i);
		arr3.push(temp);
		i = temp+1;
	}
	console.log(arr3);
	//[0,2,4]
	//lastIndexOf() 使用方法和indexOf没有区别,只是他从指定位置往前查找
	var n1 = arr2.lastIndexOf('貂蝉',4);
	console.log(n1);

slice() 截取子数组
两个参数
第一个参
数截取的开始位置
第二个参数是截取的结束的位置
截取的新数组,包含开始位置,不包含结束位置
特点:
1.当参数为负数的时候,截取规则是从前向后截取,因此如果都是负数,则起始位置的数值要比结束位置小,倒数的位置从1开始
2.如果只写一个参数,则从当前位置一直截取到最后
3.参数只能是正整数,负整数和0,非法字符会解析成0
4.如果不写参数,就会完成整个数组的赋值
5.需要保证结束位置在开始位置之后(截取数组方向只有从前往后),否则无法截取内容

	var arr4 = arr2.slice(2,4);
	console.log(arr4);
	var arr5 = arr2.slice(-4,-2);
	console.log(arr5);
	var arr6 = arr2.slice('嘉敏');
	console.log(arr6);
	var arr7 = arr2.slice();
	console.log(arr7);

数组检测

every(): 监测数组中所有的元素是否满足所设置的条件,如果有一个不满足则返回false,都满足则返回true
some(): 监测数组中是否有元素满足所设置的条件,如果有一个满足则返回true,都不满足返回false

	var arr9 = [7,12,4,6,8,10];
	var bol1 = arr9.every(function(aa){
		console.log(aa);
		return aa>3;
	});
	console.log(bol1);
	
	var bol2 = arr9.some(function(aa){
		return aa<5;
	});
	console.log(bol2);
	
	
	console.log('-------------');
	var bol3 = arr2.some(function(aa){
		 return  aa == '西施';
	});
	console.log(bol3);

数组的过滤

filter()
数组循环,返回新数组
map()

var arr10 = [1,2,3,4,5,6,7,8];
	var arr11 = arr10.filter(function(aa){
		return aa%2==0;
		
		//return typeof(aa)=='String';
		
	});
	console.log(arr11);
	
	var arr12 = arr10.map(function(aa){
		return aa+'px'
	});
	console.log(arr12);

数组合并

把多个数组合并成一个数组
concat(数组1,数组2,数组3···数组n)
返回一个合并后的数组,新数组

	var arr1 = ['张飞','李逵']
	var arr2 = ['林黛玉','薛宝钗']
	var arr3 = arr1.concat(arr2);
	console.log(arr3);
	
	var list = document.getElementById("list");
	for (var i=0 ;i<arr3.length;i++){
		list.innerHTML += '<li>'+arr3[i]+'</li>';
	}
	
	var list1 = document.getElementById("list1")
	for (var i=0;i<arr3.length;i++){
		list1.innerHTML += '<li>'+arr3[i]+'</li>';
	}

把数组拼接成一个字符串
join(参数符号)
参数:一个字符,该字符可以是任意字符,默认是英文的逗号(,)
返回值是合并之后的字符串

	var str1 = arr3.join(',');
	console.log(str1);
	list1.innerHTML+='<li>'+str1+'</li>';
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值