Question | Click to View Answer |
Write the $$$.map() function so the result variable is assigned to the array [4, 8, 12]. result = $$$.map([2, 4, 6], function(num) {
return num * 2;
});
console.log(result);
|
$$$ = {
map: function(arr, callback) {
result = [];
arr.forEach(function (e) {
result.push(callback(e));
});
return result;
}
}
|
Write the $$$.find() function so the result variable is assigned to the string "cat". arr = ['ant', 'cat', 'dog']
result = $$$.find(arr, function(str) {
return str[0] === "c";
});
console.log(result);
|
$$$ = {
find: function (arr, callback) {
for (var i = 0; i < arr.length; i++) {
var e = arr[i];
if (callback(e)) {return e};
}
}
}
|
Write the $$$.select() function so the result variable is assigned to the array [5, 7, 9]. arr = [5, 6, 7, 8, 9];
result = $$$.select(arr, function(num) {
return num % 2 === 1;
});
console.log(result);
|
$$$ = {
select: function(arr, callback) {
result = [];
arr.forEach(function (num) {
if (callback(num)) {
result.push(num);
}
});
return result;
}
}
|
Write the $$$.reject() function so the result variable is assigned to the array 'happy', 'joy'. arr = ['happy', 'snakes', 'joy', 'slippers'];
result = $$$.reject(arr, function (word) {
var last_letter = word[word.length - 1];
return last_letter === "s";
});
console.log(result);
|
$$$ = {
reject: function (arr, callback) {
result = [];
arr.forEach(function(e) {
if (!callback(e)) {
result.push(e);
}
});
return result;
}
}
|
Write a function that satisfies the following console.log assertions. var callback = function (num) {
return num % 2 === 0
}
console.log($$$.all([1, 3, 4], callback) === false)
console.log($$$.all([2, 6, 4], callback) === true)
|
$$$ = {
all: function (arr, callback) {
for (var i = 0, l = arr.length; i < l; i ++) {
if (!callback(arr[i])) {
return false;
}
}
return true;
}
}
|
Write a function that satisfies the following console.log assertions. var callback = function (num) {
return num % 2 === 0
}
console.log($$$.any([1, 3, 4], callback) === true)
console.log($$$.any([1, 11, 111], callback) === false)
|
$$$ = {
any: function (arr, callback) {
for (var i = 0, l = arr.length; i < l; i ++) {
if (callback(arr[i])) {
return true;
}
}
return false;
}
}
|
Write the $$$.inject() function so the result variable is assigned to the array [1, 4, 9, 16]. var callback = function (num) {
return num * num;
}
var arr = [1, 2, 3, 4]
result = $$$.inject(arr, [], callback)
console.log(result)
|
$$$ = {
inject: function (arr, memo, callback) {
arr.forEach(function (e) {
memo.push(
callback(e)
)
})
return memo;
}
}
|