我正在做一些显示或隐藏数字的事情,具体取决于列表上的复选框是否被选中。
为此,我需要首先收集一个仅包含已选中复选框的数组,以便稍后使用它们的值与列表进行比较。
为了做到这一点,我在 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;
};
对于那些不熟悉的人:http $.grep
: //api.jquery.com/jQuery.grep/
我的问题是:我在这里重新发明轮子吗?我这样做是因为indexOf()
只返回遇到值的第一个索引,而不是全部。