-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlodashlib.js
More file actions
106 lines (90 loc) · 2.11 KB
/
Copy pathlodashlib.js
File metadata and controls
106 lines (90 loc) · 2.11 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
const _ = {
clamp (number,lower, upper){
var lowerClampedValue = Math.max(number, lower);
var clampedValue = Math.min(lowerClampedValue, upper);
return clampedValue;
},
inRange (number, start, end){
if (end === NaN){
end = start;
start = 0;
};
if (start > end){
let temp = start;
start = end;
end = start;
};
var isInRange = (start <= number && number < end) ? true : false;
return isInRange;
},
words (string){
return string.split(' ')
},
pad(string, length){
var totalPad = length - string.length;
var begPad = Math.floor(totalPad / 2);
var endPad = totalPad - begPad;
var space = ' ';
return space.repeat(begPad) + string + space.repeat(endPad);
},
has (object, key){
var hasValue;
if (key in object){
hasValue = true;
}else{
hasValue = false;
}
return hasValue;
},
invert (object){
var invertedObject = {};
for (let key in object){
var originalValue = object.value;
invertedObject = {originalValue : key}
}
return invertedObject;
},
findKey (object, predicate){
for (key in object){
if (predicate(object.key)){
return key;
};
}
},
drop(array, n){
if(n){
return array.splice(n);
}else{
return array.splice(1);
}
},
/* dropWhile(array, predicate){
cf = (element, index) => {
!predicate(element, index, array);
return index;
};
var dropNumber = array.findIndex(cf);
var droppedArray = this.drop(array, dropNumber);
return droppedArray;
},
*/
dropWhile(arr, predicate){
let dropNumber = arr.findIndex(function(el, index, arr) {
return !(predicate(el, index, arr));
})
let droppedArray = this.drop(arr, dropNumber);
return droppedArray;
},
chunk(array, size){
if (size){
var arrayChunks = [];
for (let i = 0; i < array.length; i = i + size){
var arrayChunk = array.slice(i, i + size);
arrayChunks.push(arrayChunk);
};
}else{
return 1;
};
return arrayChunks;
}
}