表格对比 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"

通过上述内容可以看到,这些数组和字符串操作方法各具特色,�专任务要求时灵活运用以获得最佳效果。

上一篇:2021年3月- 杭州-阿里阿里妈妈事业群-电话面面试题
下一篇:JavaScript 实现判断一个全是小写字母的字符串是否符合如下规则

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年05月04日 15时46分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章