js数组和字符串常用方法
时间: 2025-07-10 16:06:24 浏览: 6
在 JavaScript 中,数组和字符串是两种非常常用的数据类型,它们各自拥有一系列操作方法。以下是关于数组和字符串的常用方法总结。
### 数组常用方法
数组的方法通常会修改原始数组或者返回新的数组结果。以下是一些常见的数组方法:
- **sort()**:用于对数组的元素进行排序。默认情况下,`sort()` 会将元素转换为字符串并按字母顺序排序。如果需要按照数值大小排序,则必须提供一个比较函数作为参数。例如:
```javascript
const numbers = [10, 2, 8];
numbers.sort((a, b) => a - b); // 排序后得到 [2, 8, 10]
```
这种排序方式会根据比较函数的结果来决定元素的位置,从而实现升序或降序排列[^1]。
- **slice(start, end)**:返回一个新的数组,包含从 `start` 到 `end`(不包括 `end`)的元素。
```javascript
const fruits = ['apple', 'banana', 'cherry'];
const citrus = fruits.slice(0, 2); // 返回 ['apple', 'banana']
```
- **splice(index, howMany, [element1][, ...])**:可以用来删除或添加数组中的元素。此方法会修改原始数组。
```javascript
const colors = ['red', 'green', 'blue'];
colors.splice(1, 0, 'yellow'); // 在索引1处插入'yellow'
```
- **map(callback)**:创建一个新数组,其结果是对原数组中每个元素应用一次提供的函数后的结果。
```javascript
const squares = [1, 2, 3].map(x => x * x); // 得到 [1, 4, 9]
```
- **filter(callback)**:创建一个新数组,包含所有通过测试的元素。
```javascript
const evenNumbers = [1, 2, 3, 4].filter(n => n % 2 === 0); // 得到 [2, 4]
```
- **reduce(callback, initialValue)**:对数组中的每个元素执行一个由您提供的 reducer 函数(从左到右),最终得到一个单一的输出值。
```javascript
const sum = [1, 2, 3].reduce((acc, curr) => acc + curr, 0); // 得到 6
```
### 字符串常用方法
与数组不同的是,字符串的方法不会修改原始字符串,而是返回一个新的字符串。
- **slice(start, end)**:类似于数组的 `slice` 方法,返回指定范围内的子字符串。
```javascript
const str = 'Hello world';
const subStr = str.slice(0, 5); // 返回 'Hello'
```
- **substring(start, end)**:与 `slice` 类似,但是它不接受负数参数。
```javascript
const subStr = str.substring(0, 5); // 返回 'Hello'
```
- **indexOf(searchValue, fromIndex)**:查找子字符串的位置,如果找不到则返回 `-1`。
```javascript
const index = str.indexOf('world'); // 返回 6
```
- **includes(searchString)**:检查是否包含某个子字符串,返回布尔值。
```javascript
const hasWorld = str.includes('world'); // 返回 true
```
- **split(separator, limit)**:按照分隔符分割字符串,并返回一个数组。
```javascript
const words = str.split(' '); // 返回 ['Hello', 'world']
```
- **replace(old, new)**:替换第一个匹配项,支持正则表达式。
```javascript
const newStr = str.replace('world', 'JavaScript'); // 返回 'Hello JavaScript'
```
- **toUpperCase()** 和 **toLowerCase()**:分别将字符串转换为全大写或全小写形式。
```javascript
const upperStr = str.toUpperCase(); // 返回 'HELLO WORLD'
```
- **trim()**:去除字符串两端的空白字符。
```javascript
const trimmedStr = ' Hello world! '.trim(); // 返回 'Hello world!'
```
这些方法只是冰山一角,但它们构成了处理数组和字符串的基础工具集。了解这些方法可以帮助开发者更有效地操作数据结构。
阅读全文
相关推荐

















