Hello, I am studying arrow function and I have a question.
const inventors = [
{ { first: 'Albert', last: 'Einstein', year: 1879, passed: 1955 },
{ { first: 'Isaac', last: 'Newton', year: 1643, passed: 1727 },
{ { first: 'Galileo', last: 'Galilei', year: 1564, passed: 1642 },
{ { first: 'Marie', last: 'Curie', year: 1867, passed: 1934 },
{ { first: 'Johannes', last: 'Kepler', year: 1571, passed: 1630 },
{ { first: 'Nicolaus', last: 'Copernicus', year: 1473, passed: 1543 },
{ { first: 'Max', last: 'Planck', year: 1858, passed: 1947 },
{ { first: 'Katherine', last: 'Blodgett', year: 1898, passed: 1979 },
{ { first: 'Ada', last: 'Lovelace', year: 1815, passed: 1852 },
{ { first: 'Sarah E.', last: 'Goode', year: 1855, passed: 1905 },
{ { first: 'Lise', last: 'Meitner', year: 1878, passed: 1968 },
{ { first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 }
];
// // Array.prototype.filter()
// // 1. Filter the list of inventors for those who were born in the 1500's
const afterInventors = inventors.filter(function(element){
if(element.year > 1500){
return element
}
});
I fixed the filter function above with the arrow function.
const aI = inventors.filter(element => {if(element.year > 1500) return element});
However, I heard that return can be omitted by one line in the arrow function, so I tried to make it by omitting return.
const aI2 = inventors.filter(element => element.year > 1500);
AI2 created by declaring as above contains the same value. But I don't understand ai2. Is it possible to omit the conditional statement in the arrow function? And if you omit the conditional statement, what do you return...
I want to omit it like aI2... I can only use it like al.
Thank you for reading my question.
javascript arrowfunction
I was embarrassed, so I was thinking about erasing it, but I'm leaving a self-answer.
The filter method must return the Boolean type. Therefore..
constaI=inventors.filter(element=> {if(element.year> 1500) return element});
The result will be correct
constaI=inventors.filter(element=> {if(element.year> 1500) return Boolean});
is the correct expression.
For filter, it returns true and false
const aI2 = inventors.filter(element => element.year > 1500);
You can write it like
.
Therefore, the filter method, which returns true and false, is extremely easy to write a function using the arrow function.
I'm embarrassed JS, study hard!
=>
is not a conditional statement, but a operator and belongs to the comparison operator classification.
The comparison operator receives two values, compares them, and returns a logical value, so it can be used like aI2
.
The conditional statement if (condition)
simply branches using the result of the expression used in condition
, not if
performs comparative operations.
© 2024 OneMinuteCode. All rights reserved.