【问题标题】:Finding items not present in an array in another array在另一个数组中查找数组中不存在的项目
【发布时间】:2016-06-18 06:35:24
【问题描述】:

我有两个数组

self.objarr = [
       { name: ' abc '},
       { name: ' def '},
       { name: ' xyz '}
           ];

self.strarr =[' abc ',' mno '];

我想在 strarr 中找到 objarr 中不存在的项目(在上述情况下为“mno”)。

更新:答案链接显示了具有相同对象样式的数组,因此要么都是字符串数组,要么都是对象,它们具有相同的样式。但就我而言,一个是对象,另一个是字符串数组。 答案之一如下:

var x = ["a","b","c","t"];
var y = ["d","a","t","e","g"];

myArray = y.filter( function( el ) {
  return x.indexOf( el ) < 0;
});

我在与下面相同的行上尝试了一些东西,但没有奏效:

myArray = self.strarr.filter(function (el) {
                console.log(el);
               return self.objarr.name.indexOf(el) < 0;
            });

我希望有人能提供帮助。

【问题讨论】:

标签: javascript


【解决方案1】:

由于在您的情况下,您有一个对象数组和另一个字符串数组,您可以使用以下代码-

myArray = self.strarr.filter(function(strname){
    var element = $.grep(self.objarr, function(el){ return el.name == strname; });
    if(element.length==0) return strname; 
});

希望这会有所帮助!

【讨论】:

  • @arnab 当然.. 如果它解决了您的问题,请接受。
猜你喜欢
  • 2021-10-20
  • 1970-01-01
  • 2022-01-26
  • 2012-04-18
  • 1970-01-01
  • 2018-10-27
  • 2023-03-16
  • 2017-06-02
  • 1970-01-01
相关资源
最近更新 更多