-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathslicer.js
More file actions
37 lines (33 loc) · 811 Bytes
/
Copy pathslicer.js
File metadata and controls
37 lines (33 loc) · 811 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function slice(s, min, max) {
var finalMin = 0
var finalMax = 0
if (min >= 0 && min < s.length) {
finalMin = min
} else if (min < 0 && min > -s.length) {
finalMin = s.length + min
} else {
finalMin = 0
}
if (max >= 0 && max < s.length) {
finalMax = max
} else if (max < 0 && max > -s.length) {
finalMax = s.length + max
} else {
finalMax = s.length
}
let result;
let str = typeof s === 'string';
if (str) {
result = ""
} else {
result = []
}
for (finalMin; finalMin < finalMax; finalMin++) {
if (str) {
result += s[finalMin]
} else {
result = [...result, s[finalMin]]
}
}
return result
}