我正在尝试过滤数组
我一直在完全取回数组,而不仅仅是过滤后的元素。如何让它过滤元素?
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 }
];
function isOldEnough(inventor) {
if(inventor.year >= 1500 && inventor.year <= 1600){
return inventor;
}
}
inventors.filter(isOldEnough)
console.log(inventors);
&#13;
答案 0 :(得分:3)
filter
不会更改数组,而是返回一个新数组,其中只包含与creteria匹配的项目。使用此:
var oldEnough = inventors.filter(isOldEnough);
请使过滤功能更清洁:
function isOldEnough(inventor) {
return inventor.year >= 1500 && inventor.year <= 1600;
}