在JavaScript中,数组和字符串是非常常见的数据类型,它们各自有一套强大的内置方法。以下是一些常用的数组和字符串方法,以及它们的实例和注意事项:
数组操作方法:
1. push()
/ pop()
-
push()
:向数组的末尾添加一个或多个元素。let arr = [1, 2, 3]; arr.push(4); console.log(arr); // 输出: [1, 2, 3, 4]
-
pop()
:删除并返回数组的最后一个元素。arr.pop(); console.log(arr); // 输出: [1, 2, 3]
2. shift()
/ unshift()
-
shift()
:删除并返回数组的第一个元素。arr.shift(); console.log(arr); // 输出: [2, 3]
-
unshift()
:向数组的开头添加一个或多个元素。arr.unshift(0); console.log(arr); // 输出: [0, 2, 3]
3. splice()
splice()
:改变原数组,通过删除或替换某些元素来插入新的元素。arr.splice(1, 1, 'a', 'b'); // 从索引1开始删除1个元素,插入'a'和'b' console.log(arr); // 输出: [0, 'a', 'b', 3]
4. slice()
slice()
:返回一个新的数组,包含原数组中从起始索引到结束索引的元素。let newArr = arr.slice(1); console.log(newArr); // 输出: ['a', 'b', 3]
5. concat()
concat()
:连接两个或多个数组。let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let concatArr = arr1.concat(arr2); console.log(concatArr); // 输出: [1, 2, 3, 4, 5, 6]
6. join()
join()
:将数组中的所有元素连接成一个字符串。let joinedStr = arr.join(', '); console.log(joinedStr); // 输出: 1, 2, 3
字符串操作方法:
1. charAt()
/ charCodeAt()
-
charAt()
:返回指定位置的字符。let str = "Hello, World!"; console.log(str.charAt(0)); // 输出: H
-
charCodeAt()
:返回指定位置的字符的 Unicode 编码。console.log(str.charCodeAt(0)); // 输出: 72
2. concat()
concat()
:连接两个或多个字符串。let newStr = str.concat(' This is a test.'); console.log(newStr); // 输出: Hello, World! This is a test.
3. replace()
replace()
:返回一个新字符串,用其他字符串替换所有匹配的子串。let replacedStr = str.replace('World', 'JavaScript'); console.log(replacedStr); // 输出: Hello, JavaScript!
4. split()
split()
:根据一个指定的分隔符将字符串分割成一个子字符串数组。let words = str.split(','); console.log(words); // 输出: ["Hello", " World!"]
5. slice()
slice()
:返回一个新的字符串,包含从开始到结束(不包括结束)的子字符串。let subStr = str.slice(7); console.log(subStr); // 输出: World!
6. substring()
substring()
:返回一个新的字符串,包含从开始到结束(包括结束)的子字符串。let subStr2 = str.substring(7); console.log(subStr2); // 输出: World!
7. toLowerCase()
/ toUpperCase()
-
toLowerCase()
:将字符串转换为小写。let lowerStr = str.toLowerCase(); console.log(lowerStr); // 输出: hello, world!
-
toUpperCase()
:将字符串转换为大写。let upperStr = str.toUpperCase(); console.log(upperStr); // 输出: HELLO, WORLD!
8. trim()
trim()
:去除字符串两端的空白字符。let trimmedStr = str.trim(); console.log(trimmedStr); // 输出: Hello, World!
注意事项:
-
方法返回值:大多数数组和字符串方法返回一个新的数组或字符串,原始数组或字符串不会被改变。例如,
push()
和pop()
会改变原始数组,但返回新的长度。 -
参数顺序:在某些方法中,如
splice()
和slice()
,参数的顺序非常重要。splice()
的第一个参数是开始的位置,第二个参数是删除的数量,第三个参数及以后的参数是要插入的新元素。slice()
的第一个参数是开始的位置,第二个参数是结束的位置(不包括结束位置)。 -
字符串编码:使用
charCodeAt()
时,返回的是字符的 Unicode 编码,而不是字符本身。 -
字符串连接:使用
concat()
时,返回的是一个新的字符串,而+
运算符也可以用于字符串连接,但它不会返回一个新的字符串,而是会修改原始字符串。 -
数组去重:如果你需要创建一个没有重复元素的数组,可以使用
Set
对象或者手动遍历数组并添加元素。
这些方法是JavaScript中数组和字符串操作的基础,掌握它们对于编写高效和可维护的代码至关重要。