jQuery 二维数组 - 如何循环遍历它并根据数组值的条件创建列表

发布于 2024-12-07 16:25:34 字数 422 浏览 0 评论 0原文

这是我在 Jquery 中的二维数组。

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

数组是这样的 代码[“Apple”] [101],[“Pear”] [30]等,

我需要列出产品“Apple”的所有代码(例如101,1,3)。

我对 jquery 还很陌生。将不胜感激任何指点。

谢谢

So here is my 2D array in Jquery.

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

The array is something like this
Codes["Apple"][101], ["Pear"][30] etc.,

I need to make a list of all the codes (eg., 101,1,3) for the product "Apple".

I am pretty new to jquery. Would appreciate any pointers.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

琴流音 2024-12-14 16:25:34

由于您没有包含 HTML 或实际数据,我们必须从您的问题中猜测一些,但在我看来,您的 Codes 数组声明创建了一个由两个数组组成的数组,其中第一个数组包含产品,第二个数组包含产品array 中的数字如下所示:

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

您需要一个仅对应于 Apples 条目的数字数组。您可以这样做:

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

会给出这样的结果:

results == [101, 200]

这假设第二个数组中对于第一个数组中的每个元素都恰好有一个条目,并且第一个数组中的索引项对应于第二个数组中的该元素。

Since you include no HTML or actual data, we have to guess a little bit from your question, but it looks to me like your declaration of the Codes array creates an array of two arrays where the first array has products in it and the the second array has numbers in it like this:

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

And you want an array of numbers that correspond to only the Apples entries. You could do that like this:

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

Would give this result:

results == [101, 200]

This assumes that there is exactly one entry in the second array for every element in the first array and that like index items in the first array correspond to that element in the second array.

故事与诗 2024-12-14 16:25:34

我可能会误解你的数组,但请尝试:

Codes["Apple"].join()

I might be misunderstanding your array, but try:

Codes["Apple"].join()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文