所以我的编码练习让我创建了一个函数“getElementsGreaterThan10AtProperty”
,它返回一个数组,其中包含位于给定键的数组中的元素,大于10.使用代码我无法弄清楚为什么我的filter方法需要两个return语句。任何帮助我理解的提示都将非常感激。
function getElementsGreaterThan10AtProperty(obj, key) {
if (!Array.isArray(obj[key]) || obj[key].length < 1 ) {
return [];
} else {
return obj[key].filter(function(item){
return item > 10;
});
}
}
此外,
答案 0 :(得分:2)
Array.prototype.filter
函数使用过滤函数返回一个新数组。
回调过滤器函数必须返回一个布尔值,指示是否保留项目。所以......
// the outer `return` returns the resulting Array.
return obj[key].filter(function(item){
// The inner `return` returns a pass/fail (true/false)
return item > 10;
});