UNPKG

669 BJavaScriptView Raw
1function splitRight(self, sep, maxSplit, limit) {
2
3 if (typeof maxSplit === 'undefined') {
4 var maxSplit = -1;
5 }
6 if (typeof limit === 'undefined') {
7 var limit = 0;
8 }
9
10 var splitResult = [self];
11
12 for (var i = self.length-1; i >= 0; i--) {
13
14 if (
15 splitResult[0].slice(i).indexOf(sep) === 0 &&
16 (splitResult.length <= maxSplit || maxSplit === -1)
17 ) {
18 splitResult.splice(1, 0, splitResult[0].slice(i+sep.length)); // insert
19 splitResult[0] = splitResult[0].slice(0, i)
20 }
21 }
22
23 if (limit >= 0) {
24 return splitResult.slice(-limit);
25 } else {
26 return splitResult.slice(0, -limit);
27 }
28
29}
30
31module.exports = splitRight;