2011-10-03 112 views
0

所以這裏是我在JQuery中的二維數組。jQuery 2維數組 - 如何遍歷它並根據數組值創建一個列表

var Codes = [ 
    $.map($('*[id^="action"]:checked ~ *[id^="product"]'), function (item, idx){ 
     return $(item).val(); 
    }), 
    $.map($('*[id^="action"]:checked'), function (item, idx) { 
     return $(item).val(); 
    }) 
]; 

數組是這樣的 代碼[ 「蘋果」] [101],[ 「梨」] [30]等,

我需要讓所有的代碼清單(例如,101,1,3)用於產品「Apple」。

我對jquery很新。將不勝感激任何指針。

感謝

回答

1

既然你不包含HTML或實際數據,我們必須從你的問題猜到了一點點,但是它看起來我喜歡你的代碼數組的聲明創建了兩個數組,其中第一陣列產品在它與第二陣列具有數在像這樣的數組:

var Codes = [["Apples", "Bananas", "Apples", "Artichokes"], [101, 30, 200, 29]]; 

你想要一個只對應於蘋果條目的數組。你可以是這樣做的:

var results = []; 
for (var i = 0; i < Codes[0].length; i++) { 
    if (Codes[0][i] == "Apples") { 
     results.push(Codes[1][i]); 
    } 
} 

會給出這樣的結果:

results == [101, 200] 

這個假設是完全有第二陣列中的一個條目的第一陣列中的每個元素,像索引項在第一個數組中對應於第二個數組中的那個元素。

+0

是的,這是我想要的確切結果。是的,你的假設是正確的。我試過了,但沒有得到想要的結果。 – Netswannabe

+0

它在這裏工作:http://jsfiddle.net/jfriend00/8hAA6/。我糾正了我的代碼中的一個錯字 - 有一個[我應該有一個(。 – jfriend00

+0

我的錯誤....我更正了大括號,還有我做了一個錯字,並通過給出預期的結果。非常感謝: ) – Netswannabe

0

我可能會誤解你的陣列,但嘗試:

Codes["Apple"].join() 
+0

感謝您的回答。我一定不清楚。這不會創建一個包含所有代碼的字符串嗎?我需要結果作爲一維數組或列表。 – Netswannabe