JS中String对象和Array对象的常用方法
两个对象的方法可以从增、删、改、查、截取和其他方法这几个角度去理解和记忆,有些方法的名字和功能是相同的。
1 String对象
1、字符串是不可变的,每次改变内容其实是改变的地址,是新开辟的一个内存空间
2、由于字符串的不可变性,字符串所有的方法返回的是一个新字符串
1.1 增(拼接)
对于字符串来说,可以将“增”理解为字符串拼接
方法名 | 说明 |
---|---|
concat(str1, str2, str3, …) | 用于字符串拼接,将传入的字符串拼接到调用这个方法的字符串上,等效于+ |
var str = 'abc'
var str1 = 'd'
var str2 = 'ef'
console.log(str.concat(str1, str2)); // abcdef
1.2 删
因为字符串的不可变性,字符串没有特定的删除操作,一般使用replace()方法将要删除的内容替换为空
1.3 改(替换)
方法名 | 说明 |
---|---|
replace(str1, str2) | 将str1替换成str2 |
var str = 'abcdefa'
var newStr = str.replace('a', '!')
console.log(newStr); // !bcdefa
该方法只能替换一次,如果要将字符串中符合条件的都替换就要进行循环来匹配
1.4 查
方法名 | 说明 |
---|---|
charAt(index) | 获取index位置的字符并返回 |
charCodeAt(index) | 获取index位置上字符的Unicode码并返回 |
str[index] | 获取字符串str中index位置上的字符,与charAt()等效 |
indexOf(str, index) | 从index处向后找,找到第一个与str匹配的字符,返回其在字符串中的位置,找不到就返回-1 |
lastIndexOf(str, index) | 从index处向前找,找到第一个与str匹配的字符,返回其在字符串中的位置,找不到就返回-1 |
var str = 'hello'
console.log(str.charAt(1)) // e
console.log(str.charCodeAt(1)) // 101(e的ASCII码)
console.log(str[1]) // e
console.log(str.indexOf('l')) // 2
console.log(str