Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
香草javascript中的lodash.differenceBy?_Javascript_Lodash - Fatal编程技术网

香草javascript中的lodash.differenceBy?

香草javascript中的lodash.differenceBy?,javascript,lodash,Javascript,Lodash,假设我有两个对象数组 var toto = [ {a:1, b:2, c:1}, {a:7, c:2, d:1} ] var titi = [ {a:2, b:2, c:1}, {a:1, c:2, d:1} ] 我想找到一个替代lodash.differenceBy(我不想仅针对这种情况实现) 基本上就是这样 differenceBy(toto,titi, "a") // => [{a:2, b:2, c:1}] 我用一个简单的参数制作了一个过滤器,但我正在努力添加

假设我有两个对象数组

var toto = [
  {a:1, b:2, c:1},
  {a:7, c:2, d:1}
]

var titi = [
  {a:2, b:2, c:1},
  {a:1, c:2, d:1}
]
我想找到一个替代
lodash.differenceBy
(我不想仅针对这种情况实现)

基本上就是这样

differenceBy(toto,titi, "a")
// => [{a:2, b:2, c:1}]
我用一个简单的参数制作了一个过滤器,但我正在努力添加对象

static DifferenceBy(arr:Array<any>, arr2:Array<any>){
    return arr.filter(function(i) {return arr2.indexOf(i) < 0;});
}
static DifferenceBy(arr:Array,arr2:Array){
返回arr.filter(函数(i){return arr2.indexOf(i)<0;});
}

您可以通过转到并单击源来检查任何
lodash
方法源

例如,转到

你可以像这样使用

consttoto=[{a:1,b:2,c:1},{a:7,c:2,d:1}]
常数titi=[{a:2,b:2,c:1},{a:1,c:2,d:1}]
函数差异(数组1、数组2、键){
返回array1.filter(a=>!array2.some(b=>b[key]==a[key]))
}

log(differenceBy(toto,titi,“a”))
输出不应该是
{a:7,…}