javascript - 使用 .find 或内部 .find 的 .index
问题描述
我在函数中使用 a.includes
作为条件时遇到问题。find
var a = ["a.example", "b.example1", "c.example2"];
var b = "example1";
a[1].includes(b)
>> true
a[1].indexOf(b)>-1
>>true
a.find( c => { c.includes(b) });
>>undefined
a.find( c => { c.indexOf(b) > -1 });
>>undefined
我的理解是,如果没有数组元素与条件匹配,则 find 返回 undefined,或者返回第一个匹配的元素。但我无法让这个条件发挥作用。难道我做错了什么?我希望 find 能返回一个真实的"b.example1"
解决方案
由于.find()
回调中填充了使用大括号的箭头函数,因此将return
语句放入回调中。
a.find(c => { return c.includes(b) });
a.find(c => { return c.indexOf(b) > -1 });
或者完全删除它。
a.find(c => c.includes(b));
a.find(c => c.indexOf(b) > -1);
如需进一步解释,请查看 MDN 上的箭头函数参考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
推荐阅读
- javascript - 如何使用 .classList.add("hide"); 第二次观看时隐藏窗帘
- kubernetes - yaml文件中的不同缩进
- amazon-s3 - Lambda 函数无法从 S3 读取
- react-native - 找不到@react-navigation/stack
- flutter - 无论如何我可以在gridview.builder中的图像下方添加文本吗?
- salt-stack - 在 SaltStack 中管理块设备的正确方法
- mysql - 我应该如何使用连接对 JPA 条件查询进行单元测试?还是不可能,只需添加集成测试?
- asp.net-mvc - 如何禁用对所需输入字段的验证,以便将模型返回给控制器?ASP.NET MVC
- javascript - 如何删除 HERE 地图 API 的地图路线
- vue.js - VueJS 的 FullCalendar,ResourceTimelineDay v-slot resourceLabelContent 仅适用于第一列