繁体   English   中英

子数组中的javascript / jquery搜索?

[英]javascript/jquery search in a subarray?

有一个字符串正在像这样的Item:ShortName:Tax ,如果添加了更多项目,它会附加到类似Item:ShortName:Tax_Item2:ShortName2:Tax2 ,再添加一个Item:ShortName:Tax_Item2:ShortName2:Tax2_Item3:ShortName3:Tax3 ,依此类推。 我想知道的是,我必须检查列表中是否存在某件商品,例如shirtjeans 当用冒号分隔时,它将是数组中的第一个。

我用这个

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, ItemShortName, TaxOnItem ,现在在所有这些小数组中,我必须检查第一个数组包含ItemName以查看是否存在特定项目! 我怎样才能做到这一点?

您确实意识到自己的代码中有错误,函数findItem(argument){}认为您的意思是“函数”。

在这里:我略微 重新格式化了 您的代码。 尝试这个:

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");
};

您缺少一些{(以及一个错字。控制台日志告诉您这一切!

$(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!');
            }
        });
}

}​);​

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM