介绍几个90%算法题会用到的js函数,必须掌握的基础!!!

一、splice()

作用:splice(),用于对数组进行新增、替换、删除的操作。第一个参数表示操作的位置,第二个参数表示操作数量、第三个参数和之后的是替换的元素

1、删除数组中的指定元素

	<script>
	let arr = ['abc','qwe','123',555,undefined,777]
	console.log(arr)//['abc','qwe','123',555,undefined,777]
	arr.splice(0,1)//参数0指从数组下标为0的位置开始,参数1指删除两个个元素
	console.log(arr)//['qwe','123',555,undefined,777]
	</script>
</html>

2、替换

	<script>
	let arr = ['abc','qwe','123',555,undefined,777]
	console.log(arr)//["abc", "qwe", "123", 555, undefined, 777]
	arr.splice(0,1,'ccc')//把数组下标为0的元素,替还成'ccc'
	console.log(arr)//["ccc", "qwe", "123", 555, undefined, 777]
	
	</script>

3、新增

	<script>
	let arr = ['abc','qwe','123',555,undefined,777]
	console.log(arr)//["abc", "qwe", "123", 555, undefined, 777]
	arr.splice(0,0,'ccc')//把数组下标为0的元素,替还成'ccc'
	console.log(arr)//["ccc", "abc", "qwe", "123", 555, undefined, 777]
	</script>

总结:为了方便理解,可以这样想。第一个参数呢代表从数组哪里开始的位置,第二个参数代表要删除元素的数量(如果不想删除就为0),第三个后面的参数代表插入到数组里面的元素。简单来说就是先删除、再插入。

二、split()

作用:根据参数把字符串分割成数组。

	<script>
		let str  = 'abc/defg/hijk/lnm/opq/rst/uvw/syz'
		console.log(str)//'abc/defg/hijk/lnm/opq/rst/uvw/syz'
		let arr = str.split('/')//根据/进行分割
		console.log(arr)//["abc", "defg", "hijk", "lnm", "opq", "rst", "uvw", "syz"]
	</script>
	<script>
		let str  = 'abcdefghijklnmopqrstuvwsyz'
		console.log(str)//'abcdefghijklnmopqrstuvwsyz'
		let arr = str.split('')//对字符串中每个字符进行分割
		console.log(arr)//["a", "b", "c", "d", "e", "f", "g", "h",。。。。。。]
	</script>

三、join()

作用:用法跟split()很像,作用却相反,split是字符串变数组,join是数组变字符串。

	<script>
		let str  = ["9", "8", "7", "6", "5", "4", "3", "2", "1"]
		console.log(arr)//["9", "8", "7", "6", "5", "4", "3", "2", "1"]
		str = arr.join('')
		console.log(str)//'987654321'
	</script>

四、组合拳

问题:如何把字符串中的5删除,然后倒序输出

	<script>
			let str  = '123456789'
			console.log(str)//'123456789'
			let arr = str.split('')//对字符串中每个字符进行分割
			console.log(arr)//["1", "2", "3", "4", "5", "6", "7", "8", "9"]
			arr.splice(4,1)//删除5
			console.log(arr)//["1", "2", "3", "4", "6", "7", "8", "9"]
			arr.sort((a,b)=>{return b-a})//从大到小排序
			console.log(arr)//["9", "8", "7", "6", "4", "3", "2", "1"]
			str = arr.join('')
			console.log(str)//'98764321'
	</script>

简短版(写在一句):

	<script>
		let str  = '123456789'
		let arr = str.split('')//分割
		arr.splice(4,1)//删除
		let str2 = arr.sort((a,b)=>{return b-a}).join('')//排序再合并
		console.log(str)//123456789
		console.log(str2)//98764321
	</script>

总结

大部分算法都是都会用到这几个对字符串和数组的操作,这些基础是必须掌握的。有的时候会用split()对字符串进行多段分割然后配合for和if进行操作,在最后再join进行合并再return出来。最主要是基本功要扎实吧,再多刷刷题感受一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值