gpt4 book ai didi

javascript - 查找数组中具有特定值的所有索引

转载 作者:行者123 更新时间:2023-11-30 13:05:05 25 4
gpt4 key购买 nike

我正在做一些根据列表中的复选框是否被选中来显示或隐藏数字的小东西。

为此,我需要先收集一个仅包含已选中复选框的数组,以便稍后使用它们的值与列表进行比较。

为了做到这一点,我在 jQuery 的帮助下写了一个小函数:

var findIndexesWithValue = function(arr, val) {
//Find the correct indexes and put them in an array, for later use.
var indexArray = [];

$.grep(arr, function(elementOfArray, indexInArray) {
//Get all indexes where the value corresponds
if (arr[indexInArray] === val) {
indexArray.push(indexInArray);
}
});

return indexArray;
};

对于那些不熟悉 $.grep 的人:http://api.jquery.com/jQuery.grep/

我的问题是:我是在重新发明轮子吗?我这样做是因为 indexOf() 只返回遇到值的第一个索引,而不是所有索引。

最佳答案

$.grep 并不是这种情况下最好的 jQuery 数组方法。

$.map 会更有效

var indexArray = $.map(arr, function(elementOfArray, indexInArray) {
return elementOfArray == val ? indexInArray : null;
});


console.log( indexArray);

演示:http://jsfiddle.net/x8qgq/1/

关于javascript - 查找数组中具有特定值的所有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15990299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com