【发布时间】:2021-10-17 15:48:17
【问题描述】:
我正在编写一个函数,它接受一个名称数组并返回少于 10 个字符的名称。但是,我下面的代码返回了整个数组,我认为这是因为数组的长度小于 10。
我可以做些什么来检查元素而不是整个数组
const usernames = ["mark", "staceysmom197800000"];
function validUserNames(usernames) {
return usernames.filter((m) => usernames.length < 10).map((m) => usernames);
}
我想要的输出是“mark”。
【问题讨论】:
-
如果不过滤每个项目,过滤器的目的是什么?还是返回每个项目的原始列表的地图?您是否查看过这两个函数的文档?
-
我认为我的问题是错误的。我需要新过滤器仅包含通过指定索引实现的少于 10 个字符的名称。但是,它正在迭代并给我 2 个输出。 “mark”和“mark”这不是我想要的输出。我不明白发生了什么,因此提出了问题。
-
usernames.filter(m => m.length < 10) -
@NicholasTower 谢谢,这真的很有帮助,也解决了我的困惑,因为我可以看到我哪里出错了。感谢您抽出宝贵时间。
标签: javascript arrays dictionary filter