一、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出来。最主要是基本功要扎实吧,再多刷刷题感受一下。