jobbet litt med arrow functions
This commit is contained in:
parent
5a0f23c8b9
commit
81f3550ab2
|
@ -0,0 +1,23 @@
|
|||
const SCRIPTS = require('./scripts');
|
||||
|
||||
require('./scripts.js');
|
||||
|
||||
function filter(array, test){
|
||||
let passed = [];
|
||||
for (let element of array){
|
||||
if(test(element)) {
|
||||
passed.push(element);
|
||||
}
|
||||
}
|
||||
return passed
|
||||
}
|
||||
//console.log(filter(SCRIPTS, script => script.living));
|
||||
function map(array, transform){
|
||||
let mapped = [];
|
||||
for (let element of array) {
|
||||
mapped.push(transform(element));
|
||||
}
|
||||
return mapped
|
||||
}
|
||||
let rtlScripts = SCRIPTS.filter(s => s.direction == "rtl");
|
||||
console.log(map(rtlScripts, s => s.name));
|
1123
eloquentjavascript/05_higher_order_functions/scripts.js
Normal file
1123
eloquentjavascript/05_higher_order_functions/scripts.js
Normal file
File diff suppressed because it is too large
Load diff
79
eloquentjavascript/05_higher_order_functions/test.js
Normal file
79
eloquentjavascript/05_higher_order_functions/test.js
Normal file
|
@ -0,0 +1,79 @@
|
|||
let total = 0, count = 1;
|
||||
while (count < 10) {
|
||||
total += count;
|
||||
count += 1;
|
||||
}
|
||||
|
||||
// for (let i = 0; i < 10; i++){
|
||||
// console.log(i)
|
||||
// }
|
||||
|
||||
function repeatLog(n){
|
||||
for (let i = 0; i < n; i++){
|
||||
console.log(i)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function repeat(n, action){
|
||||
for (let i = 0; i < n; i++){
|
||||
action(i);
|
||||
}
|
||||
}
|
||||
|
||||
let labels = [];
|
||||
repeat(5, i => {
|
||||
labels.push(`Unit ${i + 1}`);
|
||||
})
|
||||
console.log(labels);
|
||||
|
||||
function greaterThan(n){
|
||||
return m => m > n;
|
||||
}
|
||||
let greaterThan10 = greaterThan(10);
|
||||
console.log(greaterThan10(9));
|
||||
|
||||
function noisy(f) {
|
||||
return (...args) => {
|
||||
console.log("calling with", args);
|
||||
let result = f(...args);
|
||||
console.log("called with", args, ", returned", result);
|
||||
return result;
|
||||
};
|
||||
}
|
||||
noisy(Math.max)(3, 2, 1);
|
||||
|
||||
function unless(test, then){
|
||||
if(!test)then();
|
||||
}
|
||||
repeat(13, n => {
|
||||
unless(n % 2 == 1, () => {
|
||||
console.log(n, "is even");
|
||||
});
|
||||
});
|
||||
["A", "B"].forEach(l => console.log(l));
|
||||
|
||||
// Hashrocket - Arrow functions
|
||||
const square = x => x * x;
|
||||
console.log(square(4))
|
||||
const sum = (a,b) => {
|
||||
return a + b
|
||||
}
|
||||
console.log(sum(2,4));
|
||||
|
||||
function outerFunction(){
|
||||
var outerVariable = "Hello, ";
|
||||
|
||||
function innerFunction(name){
|
||||
var innerVariable = "World!";
|
||||
var message = () => {
|
||||
console.log(outerVariable + name + " " + innerVariable);
|
||||
};
|
||||
return message()
|
||||
}
|
||||
innerFunction("John");
|
||||
}
|
||||
outerFunction();
|
||||
|
||||
const numbers = [1,2,3,4,5];
|
||||
const filteredNumbers = numbers.filter(number => number % 2 === 0);
|
Loading…
Reference in a new issue