翼度科技»论坛 编程开发 JavaScript 查看内容

JavaScript 中字符串和数组的截取办法总结

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
字符串

substring

形式:substring(index1, index2)

  • 不会改变原始字符串
  • 将小的参数作为开始位置 start,大的作为结束位置 stop
  • 包含 start,但不包含 stop
  • 如果只给一个参数表示从它 start 截取到字符串结尾
  • 如果某个参数为负,会先将负数变为 0,并以它为 start
  1. var str = "0123456789";
  2. console.log(str.substring(1, 5)); // "1234"
  3. console.log(str.substring(8, 4)); // "4567"
  4. console.log(str.substring(1)); // "123456789"
  5. console.log(str.substring(-2, 6)); // "012345"
  6. console.log(str); // "0123456789"
复制代码
substr

形式:substr(start, length)

  • 不会改变原始字符串
  • 如果缺 length,表示从 start 截取到字符串结尾
  • 如果 start 为负数,那么 start = str.length + start
  • 如果 length 为负数或者 0,那么返回空字符串
  1. var str = "0123456789";
  2. console.log(str.substr(1, 5)); // "12345"
  3. console.log(str.substr(4)); // "456789"
  4. console.log(str.substr(-3)); // "789"
  5. console.log(str.substr(4, 0)); // ""
  6. console.log(str.substr(4, -2)); // ""
  7. console.log(str); // "0123456789"
复制代码
数组

splice

形式:substr(start, length, *args)

  • 会改变原始数组
  • 从指定的索引开始删除若干元素,再从该位置添加若干元素
  1. var arr = [0,1,2,3,4,5,6,7,8,9];
  2. console.log(arr.splice(2, 3, 12, 13)); // 返回删除的元素 [2,3,4]
  3. console.log(arr); // [0,1,12,13,5,6,7,8,9]
  4. console.log(arr.splice(2, 3)); // [12,13,5]
  5. console.log(arr); // [0,1,6,7,8,9]
  6. console.log(arr.splice(2, 0, 22, 23)); // 返回[],没有删除任何元素
  7. console.log(arr); // [0,1,22,23,6,7,8,9]
复制代码
数组&字符串

slice

形式:slice(start, stop)

  • 不会改变原始数组/字符串
  • 包含 start,但不包含 stop
  • 如果只给一个参数表示从它 start 截取到字符串结尾
  • 如果 start 比 stop 大(不会互换),或 start 与 stop 相等,则截取为空
  • 如果 start 为负数,那么 start = str.length + start
  1. var str = "0123456789";
  2. var arr = [0,1,2,3,4,5,6,7,8,9];
  3. console.log(str.slice(1, 6)); // "12345"
  4. console.log(arr.slice(1, 6)); // [1,2,3,4,5]
  5. console.log(str.slice(2)); // "23456789"
  6. console.log(arr.slice(2)); // [2,3,4,5,6,7,8,9]
  7. console.log(str.slice(3,3)); // ""
  8. console.log(arr.slice(3,3)); // []
  9. console.log(str.slice(6,5)); // ""
  10. console.log(arr.slice(6,5)); // []
  11. console.log(str.slice(6,-1)); // "678"
复制代码
参考文章链接

来源:https://www.cnblogs.com/touryung/p/17141284.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具