
表格对比 slice(),splice(),split(),substring(),substr()
发布日期:2021-05-10 22:43:42
浏览次数:33
分类:精选文章
本文共 2354 字,大约阅读时间需要 7 分钟。
数组与字符串操作之一:slice()、splice()、split()、substring()、substr()
有时候在编程中需要对数组或字符串进行切片、拼接或分割操作,这些方法在 JavaScript 中提供了强大的支持。以下从功能、应用场景、语法规则、参数说明以及返回结果入手,逐步分析这些方法的特性与用法。1.1 方法概述
- slice(): 从数组或字符串中提取选定的元素范围,返回新数组或字符串子串。该方法不会修改原数组或字符串。
- splice(): 可以从数组中添加或删除元素,并返回被删除元素组成的新数组。该方法会修改原数组内容。
- split(): 将字符串拆分为固定规则下的数组字符串。字符串会被分割为由指定分隔符确定的子串。
- substring(): 提取字符串中介于两个指定索引之间的字符,并返回新字符串。该方法不适用负数索引。
- substr(): 类似于substring(),但参数结构不同,适用于需要根据起点和长度提取子串的情况。这种方法在现代 JavaScript 中不推荐使用,可能会因浏览器支持问题导致问题。
1.2 功能描述
Array: slice()
- 运作方式: slice方法接受起始和结束索引,返回新数组包含这两个位置之间的所有元素。
- 注意事项: 如果结束索引未传入,则默认会截取到末尾。负数索引会从末尾计算起始位置。
- 实例展示:
array.slice(0)
返回整体数组拷贝。array.slice(1, 3)
提取第二、第三个元素。array.slice(-2, -1)
提取倒数第二个和第三个元素。
Array: splice()
- 作用方式: splices方法可删除指定起始位置及其之后的若干元素,并用指定的新元素替换被删掉的项目。
- 特点说明:
- 如果没有提供新的元素,仅删除指定位置的元素。
- 该方法返回一个包含被删除元素的数组。
- 示例:
array.splice(0,3, "a", "b")
删除前3个元素并加上新元素,原数组变为 ["a", "b", 4, 5]。
String: split()
- 用途目的: 用于将字符串分割成多个子串数组。分割规则由参数指定。
- 特殊情况: 如果使用空字符串作为分隔符,则每个字符之间都会被分割,等同于
join
方法的逆过程。 - 实例展示:
str.split(",")
将 "a,b,c" 分割为 ["a", "b", "c"]。str.split("")
则会分割为单个字符数组。
String: substring(), substr()
- 区别对比:
substring(start, stop)
: 起始索引提取开始字符,结束索引决定提取到前一位置字符。substr(start, length)
: 起始索引以及需要提取的字符数量决定结果字符串。
- 特殊情况:
- 如果
stop
小于start
,会自动交换参数位置。 substr
不支持负数索引。
- 如果
- 示例:
"hello,world".substring(0,4)
提取 "hell"。"hello,world".substr(1,3)
提取 "ell"。
1.3 参数解析
slice()
- 参数规则:
start
: 必须指定,正数或负数(负数从末尾开始为起点)。end
: 可选,默认至末尾。
- 注意事项: 无论正负起始值,都会被视为从末尾开始。
splice()
- 参数输入:
index
: 钉在数组中的位置索引,正数或负数(负数从末尾算起)。howmany
: 要删除的元素个数,默认为 1。如果是 0,则不会删任何元素。item1, item2, ...
: 可选,将添加到数组中的新元素项。
split()
- 参数说明:
seperator
: 必须指定,可以是字符串或正则表达式。howmany
:可选,决定分割后字符串数组的最大长度。
substring(), substr()
- 参数说明:
start
: 必须是正整数,代表子串的开始位置。如果是负数则从字符串末尾开始计算。stop
: 可选参数,但必须是正整数,表示提取末尾的字符结束位置。如果没有设定,默认会到末尾。
1.4 返回值分析
- slice(): 返回包含被切分元素的新数组。
- splice(): 返回包含被删除元素的数组。
- split(): 返回由分隔符分割后的子串数组。
- substring()/substr(): 返回提取的来子串。
1.5 基础使用建议
- 代码的可读性: 在使用这些方法之前,请确保清楚每个其参数的意义和作用方式。
- 兼容性考虑: 注意到
substr()
的方法在一定程度上逐渐被substring()
替代,但在不同浏览器中支持可能存在差异。
1.6 典型示例解析
- 数组切片:
var array = [1,2,3,4,5]; var result = array.slice(2,4); // [3,4]; array 仍为 [1,2,3,4,5]
- 数组拼接与替换:
var array = [1,2,3]; array.splice(1,1, "X"); // array 变为 [1, "X", 3];
- 字符串分割与提取:
var str = "hello,world"; var parts = str.split(","); // ["hello", "world"] var subString = str.substring(0,5); // "hello" var subStr = str.substr(5,3); // "wor"
通过上述内容可以看到,这些数组和字符串操作方法各具特色,�专任务要求时灵活运用以获得最佳效果。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年05月04日 15时46分48秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
计算机网络基础:PKI(公钥基础设施)
2023-01-23
计算机网络基础:VLAN(虚拟局域网)
2023-01-23
计算机网络基础:文件共享服务器(注册表更改)
2023-01-23
计算机网络基础:用户和组管理
2023-01-23
计算机网络基础:简单渗透
2023-01-23
计算机网络模型-TCP/IP协议簇
2023-01-23
基于Arduino的ESP32-S3 + OLED(4pin)的文字取模
2023-01-23
基于Arduino的ESP32-S3 +光敏传感器(4pin)
2023-01-23
基于Arduino的ESP32-S3 + 1.3寸OLED(4pin)
2023-01-23
基于Arduino的ESP32-S3 + HCSR04(4pin)超声波传感器
2023-01-23
基于Arduino的ESP32-S3 +DS18B20(3pin)
2023-01-23
基于任意单片机的继电器模块应用全解析
2023-01-23
基于Arduino的ESP32-S3 + 水浊度传感器
2023-01-23
《街机厅里的printf大冒险:当像素小人与格式化字符串共舞》
2023-01-23
Git 常用命令清单(整理且详细)
2023-01-23
Servlet 简介
2023-01-23
乒乓球问题
2023-01-23