javascript / jquery在子阵列中搜索?

时间:2012-09-11 10:39:27

标签: javascript jquery arrays string

有一个字符串正在形成这样的东西 Item:ShortName:Tax如果添加了更多项目,则会将其附加到Item:ShortName:Tax_Item2:ShortName2:Tax2之类的字符串,再添加一个,Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3等等。我想知道的是,我必须检查列表中是否有项目,例如shirtjeans。当它被冒号分隔时,它将是数组中的第一个。

我使用this

var list = "Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3_Item4:ShortName4:Tax4";

$(document).ready(function () {
    var arg = 'Item2';
    findItem(arg);
    fucntion findItem(argument) {
        $.each(list.split('_'), function () {
            if (this.split(':')[0] == arg) {
                alert('Item found!');
            }
        };
        };

但警告未显示,但Item2位于列表中 如果不清楚,这个由_分割的列表包含一个数组(如您所见),由:分隔的每个数组都包含Itemname, ItemShortName, TaxOnItem,现在在所有这些小数组中,我必须检查包含ItemName的第一个数组,看看是否存在特定项目!我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

您确实意识到代码中有错误, fucntion findItem(argument){} 认为你的意思是“功能”。

答案 1 :(得分:0)

这里:我稍微重新格式化重组你的代码。试试这个:

var list = "Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3_Item4:ShortName4:Tax4";

function findItem(argument) {
    list.split("_").forEach(function(subList){
        if(subList.split(":")[0] == argument) { 
             alert("Item found!");
         }
    });
};

$(document).ready(function () {
    findItem("Item2");
};

答案 2 :(得分:0)

您遗失了一些{(以及一个拼写错误。控制台日志告诉你这一切!

$(document).ready(function () {

    var list = "Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3_Item4:ShortName4:Tax4";
    var arg = 'Item2';
    findItem(arg);

    function findItem(argument) {
        $.each(list.split('_'), function () {
            if (this.split(':')[0] == arg) {
                alert('Item found!');
            }
        });
}

}​);​