《JavaScript视频10》数组的其他方法

本文详细介绍了JavaScript中的数组方法,包括forEach用于遍历数组,slice用于无损获取子数组,splice用于删除和插入元素。还讨论了如何删除数组中的重复元素,以及使用sort进行自定义排序。同时,文中提到了JavaScript在不同浏览器的兼容性问题,对于开发者优化代码具有指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

forEach()方法
var arr = ["赵","周","李","孙","钱"];
	arr.forEach(function(a){
		console.log("a=" +a);
	});

IE8及以下的浏览器不兼容

forEach()方法需要一个函数作为参数,浏览器会调用这个函数。

数组中有几个元素,函数就会执行几次,每次执行,浏览器会将遍历到的元素作为实参的形式传递进来,我们可以定义形参来读取这些内容。

浏览器会在回调函数中传递三个参数。

  • 第一个参数是当前正在遍历的元素
  • 第二个参数是元素的索引
  • 第三个参数是该数组自己

slice()

该方法将特定位置的元素封装到一个新的数组中返回

var result = arr.slice(开始索引,结束索引); 

该方法不会改变原数组。

参数可以是负数,第二个参数可以省略。

splice()

可以用于删除数组中的指定元素。会将指定元素从原数组中删除,并将被删除元素作为返回值返回。并且可以插入一些元素。

var result = arr.splice(开始索引,删除数量,参数三);

第三个参数及以后可以传递一些新的元素,这些元素会自动插入到开始位置索引前面


删除数组中的重复元素:

var arr = [1,2,5,1,2,6];

for(var i=0; i<arr.length; i++){
	for(var a=i+1; a<arr.length; a++ ){
		if (arr[i] == arr[a]){
			arr.splice(a,1);
		};
	};	
};
	
console.log(arr);

上面的程序看起来还行,但是当后面出现两个重复的元素相邻时,会出现删不掉的情况。
因为当删除了一个元素后,后面的元素会自动补位,此时我们需要再比较一次后面的元素,所以需要将if条件判断修改为:

if (arr[i] == arr[a]){
	arr.splice(a,1);
	a--;
};

concat()可以拼接两个数组,括号内不仅可以传入数组,还可以传入元素。

sort()

sort()对于纯数组进行排序时,也是按照Unicode编码来排序。
我们可以通过传入一个回调函数来指定排序规则:

  • 回调函数需要定义两个形参
  • 浏览器会分别使用数组中的元素作为实参去调用回调函数
  • 浏览器会根据回调函数的返回值来决定元素的顺序
  • 如果返回值大于0,则元素会交换位置,否则不变。
arr = [5,4,2,1,6,6,2,3];
arr.sort(function(a,b){
	return a-b;
});

console.log(arr);

如果需要升序排列,则返回a-b
如果需要降序排列,则返回b-a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值