JS基础梳理:数组与字符串常用操作解析
142 浏览量
更新于2024-08-30
收藏 70KB PDF 举报
本文主要总结了JavaScript中字符串和数组的一些常用方法,包括substring、slice、substr、charAt以及indexOf等。
JavaScript中的字符串(string)是不可变的,这意味着对字符串的任何操作都会创建一个新的字符串。以下是对描述中提到的方法的详细解释:
1. **substring(start, end)**:此方法用于截取字符串的一部分,它不包括结束位置的字符。当只提供一个参数时,从该位置开始截取到字符串末尾。如果start或end为负值,会将其转换为0。例如:
```javascript
var str = 'abcdefg';
str.substring(1); // "bcdefg"
str.substring(1, 3); // "bc"
str.substring(-1, 1); // "a" (因为-1被转换为0)
```
2. **slice(start, end)**:与substring类似,但处理负值参数的方式不同。负值参数会加上字符串的长度。例如:
```javascript
str.slice(1); // "bcdefg"
str.slice(1, 3); // "bc"
str.slice(-1); // "g" (因为-1 + 7 = 6)
str.slice(1, -2); // "bcde" (因为1 和 (-2 + 7) 之间)
```
3. **substr(start, length)**:这个方法除了开始位置外,还需要一个参数来指定返回的字符个数。如果start为负值,会加上字符串长度;如果length为负值,会被视为0。例如:
```javascript
str.substr(1); // "bcdefg"
str.substr(1, 1); // "b"
str.substr(-1); // "g" (因为-1 + 7 = 6)
str.substr(-2, -3); // "" (length为负数,视为0)
```
4. **charAt(index)**:此方法返回指定索引位置的单个字符。如果索引超出范围,返回空字符串。例如:
```javascript
str.charAt(2); // "c"
```
5. **indexOf(searchValue[, fromIndex])**:查找子字符串在原字符串中首次出现的位置。找不到时返回-1。例如:
```javascript
str.indexOf('a'); // 0
str.indexOf('z'); // -1 (未找到)
```
对于数组(array),虽然在描述中没有详细展开,但这里也简单介绍一下几个常用方法:
- **push(item1, item2, ...)**:向数组末尾添加一个或多个元素,并返回新的长度。
- **pop()**:移除并返回数组的最后一个元素。
- **shift()**:移除并返回数组的第一个元素。
- **unshift(item1, item2, ...)**:向数组开头添加一个或多个元素,并返回新的长度。
- **slice(start, end)**:与字符串中的slice类似,用于提取数组的一部分。
- **splice(start, deleteCount, item1, item2, ...)**:删除并/或插入数组元素。
- **concat(array2, array3, ...)**:合并两个或更多数组,返回新数组,原数组不变。
- **indexOf(item)**:查找指定元素在数组中的索引,找不到则返回-1。
以上就是JavaScript中字符串和数组的一些常见操作方法,掌握这些基础知识对于JS编程至关重要。在实际开发中,这些方法可以灵活组合,解决各种数据处理问题。
2023-08-07 上传
2024-04-28 上传
点击了解资源详情
2020-10-25 上传
点击了解资源详情
点击了解资源详情
2023-06-11 上传
2024-10-26 上传
2020-10-27 上传
weixin_38723513
- 粉丝: 5
- 资源: 948
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍