javascript - 如何在数组中搜索一些文本并在javascript中获取搜索到的数组的索引
问题描述
我想获取过滤数组的索引
const arr = ['apple', 'mango', 'orange', 'banana'];
const customFilter = (arr, searchtxt) => {
const result = [];
arr.filter(fruit => fruit.match(searchtxt)).forEach((element, index) => {
result.push(index);
});
return result;
}
console.log(customFilter(arr, 'ma'));
解决方案
您可以使用reduce
. 对于输入中的每个项目,如果它与给定字符串匹配,则下面的代码会将其索引添加到数组中。
const arr = ['apple', 'mango', 'orange', 'banana'];
const customFilter = (arr, searchtxt) => {
return arr.reduce((a, c, i) => c.match(searchtxt) ? [...a, i] : a, [])
}
console.log(customFilter(arr, 'ma'));
推荐阅读
- nativescript - 本机脚本,如何解决移动应用程序中的导航问题?
- nginx - NGINX - 在位置级别设置 proxy_connect_timeout
- sql - 连接表和按属性求和
- python - 如何填写由 chrome 浏览器本身生成的文本框?
- python - BAT运行python并在一段时间后将其杀死
- sql-server - 来自 DataWindow 的 INSERT 语句导致 SQL 安全上下文错误
- javascript - 无法在 VS 中的 C# ASP.NET MVC 应用程序中加载 Content & Script 文件夹中的任何文件
- mysql - brew启动旧版本的mysql服务,但是如何连接呢?
- matlab - MATLAB App Designer UIAxes Plot 完全空白
- compilation - NoClassDefFoundError:生成apk时出错