如何使用jQuery.inArray检查具有动态值的数组

如何使用jQuery.inArray检查具有动态值的数组,jquery,wordpress,woocommerce,Jquery,Wordpress,Woocommerce,为什么jQuery.InArray不起作用?我希望添加一张优惠券,并对照数组检查值。如果它在数组中,则启动console.log,否则不执行任何操作。当我加载页面时,我可以看到数组couponArray,然后我将假设未定义是因为初始couponCheck为空 无论如何,最后一个console.log仍会激发。该阵列是从ACF字段构建的,我可以看出这是可行的。显然,这段代码将不仅仅是一个日志,而是让我先把它做好 <?php $couponCheck = get_field('coup

为什么jQuery.InArray不起作用?我希望添加一张优惠券,并对照数组检查值。如果它在数组中,则启动console.log,否则不执行任何操作。当我加载页面时,我可以看到数组couponArray,然后我将假设未定义是因为初始couponCheck为空

无论如何,最后一个console.log仍会激发。该阵列是从ACF字段构建的,我可以看出这是可行的。显然,这段代码将不仅仅是一个日志,而是让我先把它做好

<?php
    $couponCheck = get_field('coupons');
    
    wc_enqueue_js( "
        $(document.body).on('updated_checkout', function(){
            var couponArray = [" . json_encode( $couponCheck ) . "];
            var couponCheck = $('.woocommerce-remove-coupon').attr('data-coupon');
            console.log(couponArray);
            console.log(couponCheck);
            if(jQuery.inArray(couponCheck, couponArray)) {
                //$('.gift-with-coupon').show();
                console.log('Well done');
            }
        });
    ");
?>

所以我必须了解jQuery.InArray实际上是如何工作的!如果存在,它将只是字符串的一个数值。我的条件反射实际上缺少了一点重要的东西,比如在一些可以比较的东西上。因此,如果动态分配的值存在,其值将大于-1,因此输出console.log,如果不存在,则不执行任何操作

if(jQuery.inArray(couponCheck, couponArray) > -1) {
   console.log('Well done');
}

所以现在它起作用了。正如我曾经听到的一个人所说,“你应该多读一些…”

[“.json\u encode($couponCheck)。”]
这难道不是数组中的一个数组吗<代码>[[“a”、“b”、“c”、“d”]
哦,这太尴尬了!你说得太对了。谢谢你指出这一点。不,这不起作用。我做错了什么?