您现在的位置是:首页 > Javascript
当前栏目
JavaScript 中字符串和数组的截取办法总结
2023-03-31 11:05:46 时间
字符串
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"
相关文章
- C# 通用 HTTP 签名组件的另类实现
- .NET WebAPI 自定义 NullableConverter 解决可为空类型字段入参“”空字符触发转换异常问题
- Bootstrap Blazor 开源UI库介绍-Table 虚拟滚动行
- C#实现HTTP访问类HttpHelper
- C# 模拟Http请求
- Blazor数据绑定
- ApeForms | WinForm窗体UI美化库(Metro扁平风格)演示与安装
- p2p-tunnel 打洞内网穿透系列(五)socks5代理利用目标端访问web服务
- 【Jetpack】Lifecycle 架构组件 ( 系统组件与普通组件解耦 | Lifecycle 解耦系统组件与普通组件 | 解耦服务组件与普通组件 | 监听应用程序生命周期 )
- 【微信小程序】一文带你吃透开发中的常用组件
- Flutter WebView 如何与 h5 同步登录状态
- 二、小程序框架
- Flutter WebView 性能优化,让 h5 像原生页面一样优秀
- 【微信小程序】常用组件及基本使用详解
- 微信小程序抓包教程:Burpsuite版 附所需工具
- 前端项目中遇到的最大问题是什么,该如何回答
- uni-app框架看这五款组件库就够了
- 微信小程序 怎么插入图片?image组件的使用教程。
- 【Jetpack】Jetpack 简介 ( 官方架构设计标准 | Jetpack 组成套件 | Jetpack架构 | Jetpack 的存在意义 | AndroidX 与 Jetpack 的关系 )
- uniapp中全局页面挂载组件(小程序)