[英]I am trying to create a substr method with a pointer… is there a more elegant solution?
这是交易。 我正在做一些字符串操作,我经常使用substr方法。 但是,我需要使用它的方式更像是一个php fread方法。 然而,我的substr需要由指针引导。 这个过程需要像这样:
var string='Loremipsumdolorsitamet,consectetur'
如果我读进去,'Lorem'.....作为我的第一个子呼叫:
string.substr(offset,strLenth)//0,5
那么我的下一个substr调用应该自动从我的字符串中的这个位置开始的偏移量开始:
offset pointer starts here now=>ipsumdolorsitamet,consectetur'
如果您没有注意到,偏移量需要知道,从字符串中的第六个位置开始。
Soooo ......我想出了这个有效的解决方案,我想知道它是否是一个好的解决方案,或者是否有人有任何建议添加到它?:
var _offSetPointer=0
var _substrTest={
_offset:function(){return _offSetPointer+=getLength}
};
//usage, where p is the length in bytes of the substring you want to capture.
string.substr(_substrTest._offset(getLength=p),p)
var reader = function (string, offset) {
offset = offset || 0;
return function (n) {
return string.substring(offset, (offset+=n||1));
}
}
var read = reader("1234567");
read(2)
"12"
read(3)
"345"
read()
"6"
read(1)
"7"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.