在 jQuery 中从数组中删除匹配的元素

remove matched elements from the array in jquery

本文关键字:元素 数组 jQuery 删除      更新时间:2023-09-26

>我有一个类似

userlist=[
    {
        "label": "veera_ss.com",
        "value": "veera_ss.com"
    },
    {
        "label": "v_v.com",
        "value": "v_v.com"
    },
    {
        "label": "sample_vh.com",
        "value": "sample_vh.com"
    },
    {
        "label": "sample_vh.com",
        "value": "sample_vh.com"
    },
    {
        "label": "nabeel.ahameed_vh.com",
        "value": "nabeel.ahameed_vh.com"
    }
]

我需要遍历此并从此列表中删除匹配的元素,例如,如果值v_v.com,sample_vh.com将从列表中删除

。 谢谢。
userlist=[
    {
        "label": "veera_ss.com",
        "value": "veera_ss.com"
    },
    {
        "label": "sample_vh.com",
        "value": "sample_vh.com"
    },
    {
        "label": "nabeel.ahameed_vh.com",
        "value": "nabeel.ahameed_vh.com"
    }
]
在这种情况下,

您可以使用$.grep()来实现您想要的。

尝试

var userlist =[{"label":"veera_ss.com","value":"veera_ss.com"},{"label":"v_v.com","value":"v_v.com"},{"label":"sample_vh.com","value":"sample_vh.com"},{"label":"sample_vh.com","value":"sample_vh.com"},{"label":"nabeel.ahameed_vh.com","value":"nabeel.ahameed_vh.com"}]
userlist = $.grep(userlist, function(val){
    return val.label !== 'v_v.com' && val.label !== 'sample_vh.com'
}).get(0);

你不需要jquery。Javascript数组有一个方法:filter。您可以像这样使用它:

[{"label":"veera_ss.com","value":"veera_ss.com"},
 {"label":"v_v.com","value":"v_v.com"},
 {"label":"sample_vh.com","value":"sample_vh.com"},
 {"label":"sample_vh.com","value":"sample_vh.com"},
 {"label":"nabeel.ahameed_vh.com","value":"nabeel.ahameed_vh.com"}]
.filter(function (el) {
     return el.label !== 'v_v.com' && el.label !== 'sample_vh.com'
});
你可以

试试这种方式——

var arr = []; // will hold final array after removing elements
$.each(userlist,function(v){
  if(v.value != "sample_vh.com" && v.value != "sample_vh.com")
     arr.push(v);
});

你可以像这样使用下划线拒绝:

var userlist=[{"label":"veera_ss.com","value":"veera_ss.com"},{"label":"v_v.com","value":"v_v.com"},{"label":"sample_vh.com","value":"sample_vh.com"},{"label":"sample_vh.com","value":"sample_vh.com"},{"label":"nabeel.ahameed_vh.com","value":"nabeel.ahameed_vh.com"}];
userlist = _.reject(userlist, function(user) {
    return user.value=="veera_ss.com" || user.value=="v_v.com";
});

创建一个新列表并进行比较

    var userlist=[{"label":"veera_ss.com","value":"veera_ss.com"},
      {"label":"v_v.com","value":"v_v.com"},
      {"label":"sample_vh.com","value":"sample_vh.com"},
      {"label":"sample_vh.com","value":"sample_vh.com"},
      {"label":"nabeel.ahameed_vh.com","value":"nabeel.ahameed_vh.com"}]
    var newList = []

userlist.forEach(function(item, key) { 
                  if(!newList.some(function(x){ 
                     return JSON.stringify(x) === JSON.stringify(item) }))
                      {
                       newList.push(item);
                      } 
                 })
  //newList is filtered result.