检查变量是否在jQuery中的关联数组中

时间:2016-10-25 12:31:07

标签: javascript jquery arrays

我有这个代码循环遍历HTML结构并根据其数据属性构建一个数组。我想在foreach循环中执行条件语句,并想检查我的count变量是否在数组中。我查看了inArray(),但我不确定它是否适用于associative arrays

这是HTML

<div class="dfp" data-adposition="<?php echo $dfpPos; ?>" data-dfpcode='<?php echo $dfpCode; ?>'>
</div>

<div class="dfp" data-adposition="<?php echo $dfpHalfPos; ?>"  data-dfpcode='<?php echo $dfpHalfCode; ?>'>
</div>

这是构建数组的JS。

var dfpObj = { "adverts" : [] }; 

$(".dfp").each(function(){  // PROCESS DFPS
    var code = $(this).data("dfpcode");
    var position = $(this).data("adposition");
    var dfp = {
        "code": code,
        "position": position
    }
    dfpObj.adverts.push(dfp);
});

我的IF声明。

if($.inArray(count, dfpObj.adverts) !== -1) {
    var dfp = $('.dfp[data-adposition=' + count + ']');
    var dfpcode = $(dfp).data("dfpcode"); 
    var dfppos = $(dfp).data("adposition");
    myfunction(dfpcode, dfppos);
}
// count is within a foreach loop so at the end of the loop is $count++

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容。

$.grep(dfpObj.adverts, function(obj) { return obj.code == "122"; })

这将为您提供该对象,或者为您提供空数组。

相关问题