首页 > 编程语言 > 详细

JavaScript中字符串,数组截取办法

时间:2020-04-09 14:31:37      阅读:48      评论:0      收藏:0      [点我收藏+]

字符串

substring

形式:substring(index1, index2)

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

substr

形式:substr(start, length)

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

数组

splice

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

  • 会改变原始字符串
  • 从指定的索引开始删除若干元素,再从该位置添加若干元素
var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(arr.splice(2, 3, 12, 13)); // 返回删除的元素 [2,3,4]
console.log(arr); // [0,1,12,13,5,6,7,8,9]
console.log(arr.splice(2, 3)); // [12,13,5]
console.log(arr); // [0,1,6,7,8,9]
console.log(arr.splice(2, 0, 22, 23)); // 返回[],没有删除任何元素
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
var str = "0123456789";
var arr = [0,1,2,3,4,5,6,7,8,9];
console.log(str.slice(1, 6)); // "12345"
console.log(arr.slice(1, 6)); // [1,2,3,4,5]
console.log(str.slice(2)); // "23456789"
console.log(arr.slice(2)); // [2,3,4,5,6,7,8,9]
console.log(str.slice(3,3)); // ""
console.log(arr.slice(3,3)); // []
console.log(str.slice(6,5)); // ""
console.log(arr.slice(6,5)); // []
console.log(str.slice(6,-1)); // "678"

参考文章链接

JavaScript中字符串,数组截取办法

原文:https://www.cnblogs.com/kreios/p/12666462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!