-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathArrayUtils.js
More file actions
92 lines (70 loc) · 1.75 KB
/
Copy pathArrayUtils.js
File metadata and controls
92 lines (70 loc) · 1.75 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
class ArrayUtils{
isEmpty(array){
if (array.length === 0){
return true
} return false
}
append(array, newValue){
array[array.length] = newValue;
return array
}
clone(original){
let newArr = []
newArr = original
return newArr
}
subArray(original, from, to) {
let newArray = []
for (let i = from; original[i] <= original[to]; i++){
newArray[newArray.length] = original[i]
}
return newArray
}
equals(arr1, arr2){
if (arr1.length !== arr2.length) return false;
for (let i = 0; i < arr1.length; i++) {
if (arr1[i] !== arr2[i]) return false;
}
return true;
}
fill(original, value) {
for (let i = 0; i < original.length; i++){
original[i] = value
}
return original
}
indexOf(original, value) {
for (let i = 0; i < original.length; i++){
if(original[i] === value) {
return i
break
}
}
return -1;
}
remove(original, value){
let newOrig = [...original]
for (let i = 0; i < newOrig.length; i++) {
if (newOrig[i] === value) {
delete newOrig[i]
return newOrig
break
}
}
}
reverse(original) {
let top = original.length - 1;
let bottom = 0;
let swap = 0;
while (top - bottom >= 1) {
swap = original[bottom];
original[bottom] = original[top];
original[top] = swap;
bottom++;
top--;
}
return original
}
}
const arrayUtils = new ArrayUtils();
test = [0, 1, 2]