首页 > 解决方案 > 如何在数组中搜索一些文本并在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'));

标签: javascriptarraysstringfilter

解决方案


您可以使用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'));


推荐阅读