仅当数组不存在时才推送到该数组

用户1937021

我有几个复选框,这些复选框根据选择的复选框来过滤产品。单击复选框并将产品ID添加到阵列时,过滤器将起作用。如您所见,两个过滤器都有一些相同的ID,因此,如果它们单击多个输入框,我想确保ID仅被压入阵列一次。例如。如果他们选择了input.white和input.greymelange,那么他们单击了filter-btn我只希望将重复的ID推送一次。有办法吗?

JQUERY

var productIds = [""];

$(document).on('click', 'a.filter-btn', function(e){

    $( ".listingTemplate" ).html("");
   if ($('input.white').is(':checked')) {
          productIds.push("4021401143741", "4021402266227");
    } 

   if ($('input.greymelange').is(':checked')) {
          productIds.push("4021401143741", "4021402266227","4021402266418", "4021401143796");
    } 
});

的HTML

 <input type="checkbox" id="white" class="white" value="white" />                
 <input type="checkbox" id="greymelange" class="greymelange" value="greymelange" />
<a href="#" class="filter-btn">filter</a>
普拉文

您可以利用$.inArray()$.each()

1)将所有新值保留在array中deArray
2)使用迭代该数组$.each,然后查找是否在productIds使用inArray()

if ($('input.greymelange').is(':checked')) {
        var deArray = ["4021401143741", "4021402266227", "4021402266418", "4021401143796"];
        $.each(deArray, function (i, j) {
            if ($.inArray(j, productIds) == -1) {
                productIds.push(j);
            }
        });
    }

建议:不要在数组中声明空字符串。

var productIds = [""];  //considered as an string. This will affect 
                        //when you check length, now it is 1
var productIds = []; //length is 0

最后,

var productIds = [];

$(document).on('click', 'a.filter-btn', function (e) {
    $(".listingTemplate").html("");
    if ($('input.white').is(':checked')) {
        var dArray = ["4021401143741", "4021402266227"];
        $.each(dArray, function (i, j) {
            if ($.inArray(j, productIds) == -1) {
                console.log(j)
                productIds.push(j);
            }
        })
    }

        if ($('input.greymelange').is(':checked')) {
            var deArray = ["4021401143741", "4021402266227", "4021402266418", "4021401143796"];
            $.each(deArray, function (i, j) {
                if ($.inArray(j, productIds) == -1) {
                    productIds.push(j);
                }
            })
        }
            console.log(productIds)
        });

JSFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅在值不存在时才使用lodash推送到数组吗?

来自分类Dev

仅当在Mongodb中使用数组运算符时该字段不存在时才设置$ set

来自分类Dev

仅当元素不存在时才将元素添加到C数组

来自分类Dev

角度-仅当唯一时才推送到数组

来自分类Dev

角度-仅当唯一时才推送到数组

来自分类Dev

仅当 Document 中不存在 providerId 时才更新提供者数组并增加计数

来自分类Dev

仅当表中不存在该值时才更新SQL列

来自分类Dev

推送到javascript数组(如果存在),如果不存在则先创建

来自分类Dev

如何将数组推送到对象中不存在的对象?

来自分类Dev

猫鼬将项目推送到数组(如果不存在)

来自分类Dev

如果特定键不存在,则将对象推送到数组

来自分类Dev

如何从数组中删除一个值(如果存在)或如何将其推送到数组(如果不存在)?

来自分类Dev

仅当值不存在时才返回行

来自分类Dev

SQL-仅当B不存在时才选择A

来自分类Dev

仅当记录不存在时才插入表

来自分类Dev

php数组,过滤数组时出错并且该值不存在

来自分类Dev

仅当其他表中不存在数据时,SQL 才从该表中获取数据

来自分类Dev

如果数组对象中不存在,则推送

来自分类Dev

如果数组对象中不存在,则推送

来自分类Dev

仅当文件不存在或已更改时才使用adb推送

来自分类Dev

数组元素上不存在该属性

来自分类Dev

仅当值不为null时才执行Javascript数组推送

来自分类Dev

仅当数组元素不存在时如何将其插入数据库

来自分类Dev

仅当推送到特定分支和标签存在时才触发github工作流

来自分类Dev

Makefile-仅当文件不存在时才进行依赖

来自分类Dev

SQL查询-插入,但仅当记录不存在时才插入?

来自分类Dev

仅当值不存在时才从SELECT插入表中

来自分类Dev

仅当Nginx不存在文件时,才将URL重定向到PHP

来自分类Dev

仅当不存在MongoDB文档字段时,才如何更新它们?

Related 相关文章

  1. 1

    仅在值不存在时才使用lodash推送到数组吗?

  2. 2

    仅当在Mongodb中使用数组运算符时该字段不存在时才设置$ set

  3. 3

    仅当元素不存在时才将元素添加到C数组

  4. 4

    角度-仅当唯一时才推送到数组

  5. 5

    角度-仅当唯一时才推送到数组

  6. 6

    仅当 Document 中不存在 providerId 时才更新提供者数组并增加计数

  7. 7

    仅当表中不存在该值时才更新SQL列

  8. 8

    推送到javascript数组(如果存在),如果不存在则先创建

  9. 9

    如何将数组推送到对象中不存在的对象?

  10. 10

    猫鼬将项目推送到数组(如果不存在)

  11. 11

    如果特定键不存在,则将对象推送到数组

  12. 12

    如何从数组中删除一个值(如果存在)或如何将其推送到数组(如果不存在)?

  13. 13

    仅当值不存在时才返回行

  14. 14

    SQL-仅当B不存在时才选择A

  15. 15

    仅当记录不存在时才插入表

  16. 16

    php数组,过滤数组时出错并且该值不存在

  17. 17

    仅当其他表中不存在数据时,SQL 才从该表中获取数据

  18. 18

    如果数组对象中不存在,则推送

  19. 19

    如果数组对象中不存在,则推送

  20. 20

    仅当文件不存在或已更改时才使用adb推送

  21. 21

    数组元素上不存在该属性

  22. 22

    仅当值不为null时才执行Javascript数组推送

  23. 23

    仅当数组元素不存在时如何将其插入数据库

  24. 24

    仅当推送到特定分支和标签存在时才触发github工作流

  25. 25

    Makefile-仅当文件不存在时才进行依赖

  26. 26

    SQL查询-插入,但仅当记录不存在时才插入?

  27. 27

    仅当值不存在时才从SELECT插入表中

  28. 28

    仅当Nginx不存在文件时,才将URL重定向到PHP

  29. 29

    仅当不存在MongoDB文档字段时,才如何更新它们?

热门标签

归档