为了账号安全,请及时绑定邮箱和手机立即绑定

关于 String 与 Array 转换的问题

关于 String 与 Array 转换的问题

泛舟湖上清波郎朗 2018-10-17 17:18:50
是这样的,一天我在面试的时候面试官问道怎么重写 String 的 substring 这个方法String.prototype.substring = function (start, end) {  var temp = Array.prototype.slice.call(this, start, end)  return temp.join('') }我当时这么写,我当时就想着直接写循环会不会有蠢就这么些了,然后面试官说我这里把 String 强行转成 Array 了,其实我当时写的时候也有点觉得有点问题,就是不知道究竟出在哪里了??????
查看完整描述

1 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

String本身就有slice方法
所以这样即可

String.prototype.substring = function (start, end) {  return this.slice(start, end)
}

但是其实slice方法和substring还是有区别的
对于负数参数,slice()方法会用字符串的长度加上参数,subString()方法将其作为0处理
所以考察的估计还是用这么处理负数吧,所以单纯的用slice也是不全面的。


查看完整回答
反对 回复 2018-11-22
  • 1 回答
  • 0 关注
  • 403 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信