📅  最后修改于: 2023-12-03 15:37:06.625000             🧑  作者: Mango
在 JavaScript 中,我们可以使用 indexOf()
函数来查找一个元素在数组中的索引。但是,如果该元素重复出现在数组中, indexOf()
函数只会返回其中的一个索引,而无法返回所有匹配的索引。
为了解决这个问题,我们可以自己编写一个函数来查找一个元素在数组中的所有匹配索引。
以下是一个基于 JavaScript 的示例代码:
function findIndex(arr, target) {
let result = [];
arr.forEach((element, index) => {
if (element === target) {
result.push(index);
}
});
return result;
}
在上面的代码中,我们定义了一个名为 findIndex()
的函数,该函数有两个参数:
arr
:需要搜索的数组。target
:需要查找的目标元素。该函数使用 forEach()
循环遍历数组,检查每个元素是否与目标元素相同。如果找到了匹配的元素,将该元素的索引存储在一个名为 result
的数组中,并在最后将该数组作为结果返回。
以下是在一个数组中查找所有匹配元素的示例用法:
const names = ["Alice", "Bob", "Charlie", "David", "Bob"];
console.log(findIndex(names, "Bob")); // 输出: [1, 4]
您可以将上述代码复制到您自己的 JavaScript 编辑器中,并查看输出结果。
希望这篇文章能帮助你学习如何在 JavaScript 中查找数组中的所有匹配项的索引。