首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在JavaScript中使用滤波方法时有问题

在JavaScript中使用滤波方法时有问题
EN

Stack Overflow用户
提问于 2021-01-05 03:45:52
回答 2查看 756关注 0票数 0

我目前正在学习JavaScript课程,在练习中我应该创建一个函数,当应用到一个数组时,该函数返回一个新的数组,该数组只包含少于10个字符的字符串。

经过几次尝试,我确信这将是第一次,但失败了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function validUserNames(array) {
   return array.filter(function(el) { el.length < 10 } );
}  

有人能帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-05 03:57:38

这个很好用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function validUserNames(array) {
   return array.filter(function(el) { return el.length < 10 } );
}

console.log(validUserNames(['foo', 'bar', 'baz', 'foobarbazzz']));

只需在过滤器函数中添加一个返回即可。如果没有它,则返回undefinedfilter要求您为它提供一个谓词函数,该函数是返回 true或false的函数。当它返回true时,它包含在结果中,当返回false时,则不包含它。undefined似乎导致它不包括在内。

您可以使用更简洁的语法,通过使用箭头函数来避免返回的需要,而不用大括号。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return array.filter(el => el.length < 10);

当您添加回大括号(假设您的函数跨越多行)时,返回语句需要包括在内。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return array.filter(el => { return el.length < 10 });
票数 1
EN

Stack Overflow用户

发布于 2021-01-05 03:58:09

问题是,filter期望一个函数返回一个真实或虚假的值。您目前不从提供的函数返回任何内容,这意味着返回值总是undefined (falsy)。这将导致过滤后的空数组。

应该在传递给filter的提供函数中添加一个filter语句。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function validUserNames(array) {
  return array.filter(function(el) { return el.length < 10 } );
}

或者使用没有括号的箭头函数 ({})隐式返回:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function validUserNames(array) {
  return array.filter(el => el.length < 10);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65578235

复制
相关文章
JSON 在JavaScript 中的使用。
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
愷龍
2022/10/06
10K0
JavaScript中this指向问题,暴力理解终极方法
前言:前端面试题总有问this是谁?对于java程序员来说,this很好理解,就是当前对象本身。对于js来说,this就是传说中的当前运行环境,其实理论知识一大把,但是很多程序员看到有些写法还是会懵逼,比如dom.onclick事件里调用事件里自己的方法,为啥指向的是window对象?
王念博客
2019/07/24
4130
4种在JavaScript中交换变量的方法
许多算法需要交换2个变量。在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。在本文中,您将了解大约4种交换方式(2种使用额外的内存,而2种不使用额外的内存)。
王小婷
2020/10/28
3.1K0
【DB笔试面试736】在Oracle中,RAC数据库在备份恢复时有哪些步骤?
 RAC数据库的备份和恢复与单实例的数据库的备份和恢复基本上没有区别,其恢复过程基本上就是先恢复spfile,再还原控制文件,最后做数据库文件的RESTORE和RECOVER。需要注意的是,在RAC中,归档文件需要放在共享存储上,需要让集群的所有节点都可以访问的到。
AiDBA宝典
2020/01/20
5970
[译] 在 JavaScript 中通过 queueMicrotask() 使用微任务
原文:https://developer.mozilla.org/en-US/docs/Web/API/HTMLDOMAPI/Microtask_guide
江米小枣
2020/06/15
3.2K0
【DB笔试面试661】在Oracle中,在新建或重建索引时有哪些锁?
不带ONLINE的新建或重建索引的SQL语句获取的是4级TM锁,它会阻塞任何DML操作。
AiDBA宝典
2019/10/18
6850
【DB笔试面试661】在Oracle中,在新建或重建索引时有哪些锁?
JavaScript中splice方法的使用「建议收藏」
在JavaScript中,arrObject.splice()方法是处理数组的利器,利用它可以实现在指定位置删除、替换、插入指定数量的元素。 其语法为: arrayObject.splice(index,howmany,item1,…,itemX) 含义为从index开始,删除howmanry个元素,并在原地插入item1, …, itemN,最后返回被删除的数组。
全栈程序员站长
2022/10/05
1.8K0
在 JavaScript 中替换所有指定字符 3 种方法
在 JS 没有提供一种简便的方法来替换所有指定字符。 在 Java 中有一个 replaceAll() ,replaceAll(String regex, String replacement))方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
前端小智@大迁世界
2020/06/28
30.7K0
外贸在使用领英时有必要用领英精灵吗?
首先说一下结论,结论就是:有必要,非常有必要,为什么这么说呢?下面站在领英使用者的角度从安全、效率、投入产出比等角度详细阐述。
用户10405067
2023/03/08
6080
外贸在使用领英时有必要用领英精灵吗?
【DB笔试面试736】在Oracle中,RAC数据库在备份恢复时有哪些步骤?
RAC数据库的备份和恢复与单实例的数据库的备份和恢复基本上没有区别,其恢复过程基本上就是先恢复spfile,再还原控制文件,最后做数据库文件的RESTORE和RECOVER。需要注意的是,在RAC中,归档文件需要放在共享存储上,需要让集群的所有节点都可以访问的到。
AiDBA宝典
2020/02/24
5660
盘点JavaScript中Eval函数的使用方法
eval 内的代码在当前词法环境(lexical environment)中执行,因此它能访问外部变量:
前端进阶者
2021/07/22
1.7K0
【DB笔试面试731】在Oracle中,RAC在修改IP地址时有哪些注意事项?
1.如果底层网络配置已经更改,但是oifcfg尚未执行同样的变更,则重启oracle集群会导致crsd进程不能启动。
AiDBA宝典
2020/01/20
6850
在 JavaScript 中,对象是拥有属性和方法的数据
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。 在 JavaScript 中,对象是拥有属性和方法的数据。
用户1503405
2021/10/08
3.7K0
MAX_FANOUT在布局布线时有效吗?
谈到降低高扇出网线的方法,我们会想起综合属性MAX_FANOUT。它可以在代码中使用,也可以写在XDC中。在XDC中的格式如下所示(点击这里复习:Vivado综合属性:MAX_FANOUT)。
Lauren的FPGA
2019/10/31
1.9K0
在 JavaScript 中轻松处理 this [每日前端夜话0xD1]
我喜欢 JavaScript 中能够更改函数执行上下文(也称为 this)的特性。
疯狂的技术宅
2019/10/17
2.4K0
JavaScript中的this指向问题
在JavaScript中,关键字 this 是一个特殊的对象,它在函数被调用时自动创建。通常用来指向当前执行的函数所属的对象。this 的值在函数的每次调用时可能会发生变化,具体取决于函数是如何被调用的。
九仞山
2023/10/14
2650
如何使用LinkFinder在JavaScript文件中查找网络节点
LinkFinder是一款功能强大的Python脚本,在该工具的帮助下,广大研究人员可以轻松在JavaScript文件中发现和扫描网络节点及其相关参数。这样一来,渗透测试人员和漏洞猎人将能够快速在测试的目标网站伤收集新的隐藏节点了。
FB客服
2023/08/08
4640
如何使用LinkFinder在JavaScript文件中查找网络节点
JavaScript中的this指向问题
this一般指向的是调用它的对象,比如调用它的上下文是window对象,那就是指向window对象,如果调用它的上下文是某对象就是指向某对象……
全栈开发Dream
2021/05/12
1.1K0
JavaScript中的this指向问题
windows窗体线程异常_指针在声明和使用时有何不同
大家好,又见面了,我是你们的朋友全栈君。 在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等。 但是在Debug版本时,在某些情况下,特别是在工作线程中调用pWnd->UpdateData(FALSE)时,会出现错误。 这个错误的原因网上有许多地方讲到了,但是,令人失望的是,讲得好的没几篇,都是非要讲什么线程模块状态什么的,让人看得云里雾里(不过,说实话,也就是从这些文章中才知道是怎么回事的)。
全栈程序员站长
2022/10/04
5220
throws子句在继承当中overrride时有什么规则?
马克-to-win:当子类方法override父类方法时,throws子句不能引进新的checked异常。换句话说:子类override方法的throws子句checked异常不能比父类多。马克-to-win:上面一条是死语法规定,这种规定,实际上都是源于checked异常这种最初的设计。
马克java社区
2021/04/07
3160
throws子句在继承当中overrride时有什么规则?

相似问题

在使用非静态方法时有问题

11

在javascript中显示数组时有问题

22

在使用vue实现javascript代码时有问题

25

在JavaScript中转换计算时有问题

12

显示javascript数组时有问题

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文