2-мерный массив jQuery - как пройти через него и составить список на основе условия для значения массива - PullRequest
0 голосов
/ 03 октября 2011

Итак, вот мой 2D-массив в 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], ["Груша"] [30] и т. Д.,

Мне нужно составить список всех кодов (например, 101,1,3) для продукта «Apple».

Я довольно новичок в jquery. Был бы признателен за любые указатели.

Спасибо

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Поскольку вы не включаете HTML или фактические данные, мы должны немного догадаться из вашего вопроса, но мне кажется, что ваше объявление массива Codes создает массив из двух массивов, в котором первый массив содержит продукты иво втором массиве есть числа вроде этого:

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

И вам нужен массив чисел, который соответствует только записям Apple.Вы можете сделать это следующим образом:

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 голосов
/ 03 октября 2011

Возможно, я неправильно понимаю ваш массив, но попробуйте:

Codes["Apple"].join()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...