0
我在頁面上有一組複選框,點擊後,創建一個數值(allVals),這個數組隨着框的選中/取消選中而變化(字符串輸出也是一個選項)。我還有另一個多維數組(recordSet),我想根據檢查的值(allVals)過濾它(在下面的例子中:recordSet [i] [5]),然後返回一個新的多維數組,只有匹配的索引和他們的價值觀。在這種情況下,它將僅返回第一個recordSet [0],因爲包含「cat」。每當選中/取消選中某個複選框時,recordSet將被再次過濾,新創建的多維數組將被更新。使用一維數組篩選多維數組
我已經看過undercore.js,我也在頁面上使用,但不確定如何構造過濾器和循環。任何幫助都非常感謝,指出我在正確的方向 - 打開其他建議來完成。
allVals = ["cat", "dog"]
recordSet = 0: Array[6]
0: "somevalue"
1: "somevalue"
2: "somevalue"
3: "somevalue"
4: "somevalue"
5: "Cat;Monkey;Elephant;Rooster"
length: 6
1: Array[6]
0: "somevalue"
1: "somevalue"
2: "somevalue"
3: "somevalue"
4: "somevalue"
5: "Giraffe;Turtle;Rabbit;Snake"
length: 6
function updateSubTopics() {
var allVals = [];
$('.subCheck').each(function() {
if (this.checked){
allVals.push($(this).val());
}
});
$(function() {
$('.subCheck').click(updateSubTopics);
updateSubTopics();
});
這看起來不錯,但我只需要記錄[I] [5]查詢,而這似乎查詢數組中的所有值。另外,原始的多維結構不會被返回。我無法在每個數組中引用任何其他值(這些「一些值」在接下來的步驟中非常重要)。您提到了一種更高效的解決方案,我很樂意聽取您的建議。 – McKev