在JavaScript中使用筛选器方法时遇到问题
我目前正在学习一门JavaScript课程,正在进行一个练习,在这个练习中,我应该创建一个函数,当应用于数组时,该函数将返回一个新的数组,该数组只使用少于10个字符的字符串进行过滤 经过几次尝试后,我确信这将是一个,但失败了在JavaScript中使用筛选器方法时遇到问题,javascript,arrays,filter,Javascript,Arrays,Filter,我目前正在学习一门JavaScript课程,正在进行一个练习,在这个练习中,我应该创建一个函数,当应用于数组时,该函数将返回一个新的数组,该数组只使用少于10个字符的字符串进行过滤 经过几次尝试后,我确信这将是一个,但失败了 function validUserNames(array) { return array.filter(function(el) { el.length < 10 } ); } 函数validUserNames(数组){ 返回array.filter(函
function validUserNames(array) {
return array.filter(function(el) { el.length < 10 } );
}
函数validUserNames(数组){
返回array.filter(函数(el){el.length<10});
}
有人能帮上忙吗?这没问题
function validUserNames(array) {
return array.filter(function(el) { return el.length < 10 } );
}
console.log(validUserNames(['foo', 'bar', 'baz', 'foobarbazzz']));
当您添加回大括号时(假设您的函数跨越多行),需要包含return语句
i、 e
returnarray.filter(el=>{returnel.length<10});
问题在于需要一个返回truthy或falsy值的函数。您当前没有从提供的函数返回任何内容,这意味着返回值总是未定义的(falsy)。这将在筛选后导致空数组
您应该在传递给过滤器的提供函数中添加return
语句:
函数validUserNames(数组){
返回数组.filter(函数(el){return el.length<10});
}
或者使用不带括号的({
和}
)隐式返回:
函数validUserNames(数组){
返回数组.filter(el=>el.length<10);
}
My Error,已编辑。可能只需要添加一条返回语句,即return el.length<10;}代码>。在筛选方法之前,我已经有一个return语句。你是说我应该把它写在filter方法本身吗?这就解决了它!谢谢,我对加倍返回语句感到有点困惑,没有意识到过滤方法需要函数来返回一些东西
return array.filter(el => el.length < 10);
return array.filter(el => { return el.length < 10 });