0

HTMLテーブルから値を読み取るスクリプトがありますが、配列内の既存のアイテムの名前を一時的なアイテム名と比較するのに問題があります。

$(document).ready(function () {
    var selling = new Array();
    $('table tr').each(function() {
        var name = $(this).find('td:eq(1)').html();
        var price = $(this).find('td:eq(3)').html();
        var amount = 1;
        var item = new Array(name,price,amount);
        var found = 0; //selling.find(name)? notworking :)
        if(found.length > 0) {
            alert('found'); //get amount and change it
        } else {
            selling.push(item); //push new item to array                       
        }
    });
    alert(selling);
});

配列を取得したい

[cat, 10$, 150]
[cow, 120$, 7]
[bird, 500$, 1]
[horse, 400$, 2]

これらの名前を比較する方法を誰か教えてもらえますか? またはこれをより良い方法で行いますか?

4

1 に答える 1

0

$.inArray()を使用して、これを試してください。

$(document).ready(function () {
    var selling = new Array();
    $('table tr').each(function() {
        var name = $(this).find('td:eq(1)').html();
        var price = $(this).find('td:eq(3)').html();
        var amount = 1;
        var item = new Array(name,price,amount);
        if($.inArray(item,selling) > -1) {
            alert('found'); //get amount and change it
        } else {
            selling.push(item); //push new item to array                       
        }
    });
    alert(selling);
});
于 2012-11-15T18:20:35.730 に答える