给javascript添加右截取函数

本文介绍了一种在JavaScript中自定义字符串方法Right的方式,该方法可以从字符串末尾开始获取指定长度的子串。通过简单的代码实现,使得开发者可以更加灵活地处理字符串数据。

String.prototype.Right=function(i){return this.slice(this.length - i,this.length);}

 

应用时Right(8)即可,如Right("123456789"),结果是23456789

### JavaScript中的字符串截取函数JavaScript中,`substring` 和 `slice` 是两个常用的字符串截取函数。它们都允许开发者从源字符串中提取子串并返回新的字符串。 #### 1. **Substring 函数** `substring(startIndex, endIndex)` 方法用于提取从指定位置开始到结束之间的字符串[^2]。 - 参数说明: - `startIndex`: 子串起始索引(必填),该参数支持负值的情况会被视为0。 - `endIndex`: 子串终止索引(可选)。如果不提供此参数,则会默认提取至字符串末尾。 - 特性:如果 `startInde` 大于 `endIndex`,两者的位置将会自动互换[^1]。 示例代码如下: ```javascript const str = "Hello World"; console.log(str.substring(3)); // 输出 "lo World" console.log(str.substring(3, 7)); // 输出 "lo W" ``` --- #### 2. **Slice 函数** `slicestartIndex, endIndex)` 方法同样可以从字符串中提取一段子串[^1]。它与 `substring` 类似,但在处理负数索引时有所不同。 - 参数说明: - `startIndex`: 起始索引(必填)。 - `endIndex`: 终止索引(可选)。不填写则表示直到字符串结尾。 - 特性:当传入负数值作为索引时,`slice` 会将其解释为相对于字符串末端的距离[^1]。 以下是具体例子: ```javascript const str = "abcdefg"; console.log(str.slice(-3)); // 输出 "efg" console.log(str.slice(2, -1)); // 输出 "cde" ``` --- #### 3. **两者的区别对比** 尽管这两个方法都能完成字符串片段的获取工作,但需要注意的是,在面对特殊情况下的行为差异。例如对于超出范围或者非法输入情况如何响应等问题上存在细微差别。 总结来说, - 当希望简单快速地取得某段连续字符序列的时候可以选择任一方式; - 若涉及更复杂的场景比如跨边界计算或是需要考虑性能优化等因素的话,则需仔细权衡后再做决定[^2]。 --- ### 实现自定义 Substring 功能 除了直接调用内置API外还可以通过其他手段模拟其实现逻辑。下面给出了一种基于循环结构的手动版本: ```javascript function customSubstring(inputStr, startIdx, endIdx){ let result = ''; if(endIdx === undefined || isNaN(endIdx)){ endIdx=inputStr.length; } for(let i=Math.min(Math.max(startIdx,0),inputStr.length); i<Math.min(endIdx,inputStr.length);i++){ result+= inputStr[i]; } return result; } // 使用样例 var testString='abcdefghijklmn'; console.log(customSubstring(testString ,4));// efghijklmnn console.log(customSubstring(testString ,-5,-2));// jkl ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值