-
Notifications
You must be signed in to change notification settings - Fork 328
Expand file tree
/
Copy patharrays.js
More file actions
65 lines (50 loc) · 1.51 KB
/
arrays.js
File metadata and controls
65 lines (50 loc) · 1.51 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
const getNthElement = (index, array) => {
return array[index % array.length];
};
const arrayToCSVString = array => array.toString();
const csvStringToArray = string => string.split(",");
const addToArray = (element, array) => {
array.push(element);
};
const addToArray2 = (element, array) => array.concat(element);
const removeNthElement = (index, array) => array.splice(index, 1);
const numbersToStrings = numbers => numbers.map(String);
const uppercaseWordsInArray = strings => strings.map(a => a.toUpperCase());
const reverseWordsInArray = strings =>
strings.map(word => {
return word
.split("")
.reverse()
.join("");
});
const onlyEven = numbers => numbers.filter(number => number % 2 === 0);
const removeNthElement2 = (index, array) =>
array.reduce((result, elem, i) => {
if (i !== index) result.push(elem);
return result;
}, []);
const elementsStartingWithAVowel = strings =>
strings.filter(str => /^[aeiouAEIOU]/i.test(str));
const removeSpaces = string => string.replace(/\s/g, "");
const sumNumbers = numbers => numbers.reduce((a, b) => a + b);
const sortByLastLetter = strings =>
strings.sort(
(a, b) => a.charCodeAt(a.length - 1) - b.charCodeAt(b.length - 1)
);
module.exports = {
getNthElement,
arrayToCSVString,
csvStringToArray,
addToArray,
addToArray2,
removeNthElement,
numbersToStrings,
uppercaseWordsInArray,
reverseWordsInArray,
onlyEven,
removeNthElement2,
elementsStartingWithAVowel,
removeSpaces,
sumNumbers,
sortByLastLetter
};