2011-10-03 111 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