一、数组排序API–sort
sort返回值的正负决定排序的顺序
let arr = [1,5,3,7,8,6,9,1,2]
// arr.sort() // [1,1,2,3,5,6,7,8,9]
let x = arr.sort((a,b) => {
return a-b //正序
return b-a //倒序
return 1 //正序
return -1 //倒序
})
console.log(x)
二、数组拼接API–concat
let arr1 = [1,2,3]
let arr2 = [4,5,6]
let arr3 = arr1.concat(arr2) //[1,2,3,4,5,6]
let arr4 = arr.concat(arr1,arr2) //[1,2,3,4,5,6]
三、数组判断–isArray
let a = [1]
let b = 1
let c = document.querySelectorAll("div")
Array.isArray(a) //true
Array.isArray(b) //false
Array.isArray(c) //false
四、字符串
1.长度
字符串的长度与数组不同,数组的长度可通过设置改变。
let str = "abdc"
str.length = 3
console.log(str.length) //此处显示4,str.length只能读到字符串的长度,不可改变
2、取字符串元素
方法一:[ ] 低版本IE不兼容下标取字符串元素的方法,一般用方法二
let str = "abdc"
console.log(str[2]) // d
方法二:
let str = "abdc"
console.log(str.charAt(1)) // b
方法三:unicode编码,任意字符都有对应的数字编码
let str = "adc"
console.log(str.charCodeAt(2)) // c的unicode编码:99
console.log(String.fromCharCode(99)) //99对应的字母:c 反查
3.判断是否存在 indexof方法,数组也可使用
let str = "shajx"
let a = "aj"
let b = "mk"
console.log(str.indexOf(a)) // 当str中包含a时,显示的是a所代表的字符串的初始位置 2
console.log(str.indexOf(b)) // 当找不到b对应的字符串时,显示 -1
4.字符串切割
方法一:substring(起点,终点)
let str = "蓝忘机,魏无羡"
let newstr = str.substring(4,6) //魏无
let newstr = str.substring(4,7) //魏无羡
let newstr = str.substring(4,str.length) //魏无羡
console.log(newstr);
方法二:slice(起点,终点) slice可倒切,且数组也可用slice
let arr = [11,22,33,44]
let newarr = arr.slice(-3,arr.length) //[22,33,44]
let newarr = arr.slice(2,3) //[33]
console.log(newarr)
<body>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<script>
//aP 是没有slice方法的,我们借用空数组的slice方法来改变this指向
let aP = document.getElementsByTagName("p")
let arr = [].slice.call(aP)
console.log(arr) //[p, p, p, p, p]
</script>
</body>
方法三: split(切割标识)
let str = "小桥,流水,人家,枯藤,老树,昏鸦"
console.log(str.split(",")) //将字符串转变成数组,[小桥,流水,人家,枯藤,老树,昏鸦]