js数组的几种常用方法

join()

数组转字符串

console.log(arr);//[1,2,3,4]
console.log(arr.join(''));//1234
console.log(arr.join(','));//1,2,3,4
console.log(new Array(3).join('d'));//dd

push()

向末尾添加一个或多个、元素,返回新的长度

arr.push(2,1,2,3,1,2);//10
console.log(arr.push(2,1,2,3,1,2));//16
console.log(arr);//[1,2,3,4,2]

pop()

删除最后一个元素,并返回删除的这个元素

arr.pop()//2
console.log(arr.pop());//1
console.log(arr);//[1,2,3,4,2,1,2,3,1]

shift()

删除第一个与元素,并返回这个元素

arr.shift()
console.log(arr.shift());//1
console.log(arr);

unshift()

向开头添加一个或多个元素,返回新的长度

arr.unshift(1);
console.log(arr.unshift(1));//14
console.log(arr);

数组去重+排序 set+sort

set去重

console.log(new Set(arr))//{1,3,2,4}
arr=[...new Set(arr)];//[1,3,2,4]

sort()

对数组元素进行排序

function sortNumber(a,b){
console.log(a,b); return a - b
};
console.log(arr.sort(sortNumber));//[1,2,3,4]

var arrh=[1,100,5,20];
console.log(arrh.sort()); //[1,100, 20, 5] (原数组改变) 没有按照数值的大小对数字进行排序,是按照字符编码的顺序进行排序,要实现这一点,就必须使用一个排序函数:
//升序:

console.log(arrh.sort(sortNumber)); //[1, 5, 20, 100]
console.log(arrh); //[1, 5, 20, 100] (原数组改变)

//降序

function sortfun(a,b){return b-a};
console.log(arrh.sort(sortfun));//[100,20,5,1]

// reverse() 反转数组

console.log(arrh.reverse());//[1,5,20,100]

// concat() 连接两个或多个数组,合成一个数组

let arrAll=arr.concat(arrh).concat(arrh);
console.log(arrAll)
// slice(start,end) 数组截取
// start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
// end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var arrj= [1,4,6,8,12];
		var arrCopy1 = arrj.slice(1);	
		var arrCopy2 = arrj.slice(0,4);	
		var arrCopy3 = arrj.slice(1,-2);
		var arrCopy4 = arrj.slice(-5,4);
		var arrCopy5 = arrj.slice(-4,-1)
		console.log(arrCopy1);  // [4, 6, 8, 12]
		console.log(arrCopy2);  // [1, 4, 6, 8] 
		console.log(arrCopy3);  // [4, 6] 
		console.log(arrCopy4);  // [1, 4, 6, 8]
		console.log(arrCopy5);  // [4, 6, 8]
		console.log(arrj);  // [1, 4, 6, 8, 12] (原数组未改变) 
	// splice(index,howmany,item1,....,itemx)向数组中添加或闪出去元素
	// index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
	// howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
	// item1, ..., itemX:可选。向数组添加的新项目。
var arrl=[1,2,3,4,5];
		// 删除一个
		arrl.splice(2,1);
		console.log(arrl);//[1,2,4,5]
		//删除多个
		arrl.splice(2,2);
		console.log(arrl);//[1,2]
		// 添加一个
		arrl.splice(2,0,1);
		console.log(arrl);//[1,2,1]
		//添加多个
		arrl.splice(2,0,1,2,3);
		console.log(arrl);//[1,2,1,2,3,1]
		//替换一个
		arrl.splice(2,1,'u')
		console.log(arrl);//[1,2,'u',2,3,1]
		//替换多个
		arrl.splice(2,3,'a')
		console.log(arrl);//[1,2,'a',1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript数组遍历有多种常用方法,例如for循环、forEach方法、map方法、reduce方法等。我们可以通过性能分析对比它们的效率。 首先是for循环,它是最基本的遍历方式。通过使用索引来访问数组元素,可以在遍历过程中直接对元素进行操作。这种方法是最快的,因为它没有额外的函数调用开销,并且可以灵活地控制遍历过程。 其次是forEach方法,它是ES5中引入的数组方法之一。它提供了一种简洁易懂的遍历方式,可以通过回调函数来处理每个元素。然而,forEach方法不能中途跳出循环,也不能直接修改原数组的值。因此,如果需要在循环中进行复杂的操作,它可能会导致一些性能上的损失。 再次是map方法,它也是ES5中的数组方法之一。它可以通过回调函数对数组中的每个元素进行操作,并将结果存储在一个新的数组中返回。map方法会创建一个新的数组,因此在性能方面相对较低。如果只需要遍历数组而不需要返回新的数组,推荐使用forEach方法,它更高效。 最后是reduce方法,它也是ES5中的数组方法之一。它可以通过回调函数对数组中的每个元素进行累积操作,最终返回一个累积值。reduce方法是一种非常灵活且强大的遍历方式,但相对而言性能相对较低。如果只需要遍历数组而不需要累积值,使用forEach方法会更高效。 综上所述,for循环是性能最高的遍历方式,但不如其他方法简洁易懂。根据实际需求来选择合适的遍历方法,可以在性能和代码可读性之间找到平衡点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值