【发布时间】:2013-04-13 16:47:55
【问题描述】:
我正在做一些显示或隐藏数字的事情,这取决于列表上的复选框是否被选中。
为此,我需要先收集一个仅包含已选中复选框的数组,以便稍后使用它们的值与列表进行比较。
为了做到这一点,我在 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() 仅返回遇到值的第一个索引,而不是所有索引。
【问题讨论】:
-
@HankyPankyㇱ 不知道那个。谢谢!
标签: javascript jquery arrays