相关疑难解决方法(0)

如何在Javascript中获取两个数组之间的差异?

有没有办法在JavaScript中返回两个数组之间的差异?

例如:

var a1 = ['a', 'b'];
var a2 = ['a', 'b', 'c', 'd'];

// need ["c", "d"]
Run Code Online (Sandbox Code Playgroud)

任何建议都非常感谢.

javascript arrays array-difference

660
推荐指数
25
解决办法
51万
查看次数

检查数组是否包含JavaScript中另一个数组的任何元素

我有一个目标数组["apple","banana","orange"],我想检查其他数组是否包含任何一个目标数组元素.

例如:

["apple","grape"] //returns true;

["apple","banana","pineapple"] //returns true;

["grape", "pineapple"] //returns false;
Run Code Online (Sandbox Code Playgroud)

我怎么能在JavaScript中做到这一点?

javascript arrays

325
推荐指数
18
解决办法
32万
查看次数

Javascript数组:删除另一个数组中包含的所有元素

我正在寻找一种有效的方法来删除javascript数组中的所有元素,如果它们存在于另一个数组中.

// If I have this array:
var myArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];

// and this one:
var toRemove = ['b', 'c', 'g'];
Run Code Online (Sandbox Code Playgroud)

我想对myArray进行操作以使其保持这种状态: ['a', 'd', 'e', 'f']

使用jQuery,我使用的是grep()inArray(),效果很好:

myArray = $.grep(myArray, function(value) {
    return $.inArray(value, toRemove) < 0;
});
Run Code Online (Sandbox Code Playgroud)

有没有一个纯粹的JavaScript方式来做到这一点没有循环和拼接?

javascript arrays jquery

185
推荐指数
12
解决办法
14万
查看次数

使用Javascript数组计算集合差异的最快或最优雅的方法是什么?

让我们AB两套.我正在寻找真正快速或优雅的方法来计算它们之间的集合差异(A - B或者A \B,取决于您的偏好).正如标题所说,这两个集合作为Javascript数组进行存储和操作.

笔记:

  • 壁虎特有的技巧是可以的
  • 我更喜欢坚持本机功能(但如果速度更快,我会对轻量级库开放)
  • 我见过,但没有经过测试,JS.Set(见前一点)

编辑:我注意到有关包含重复元素的集合的注释.当我说"集合"时,我指的是数学定义,这意味着(除其他外)它们不包含重复元素.

javascript arrays set-difference

90
推荐指数
10
解决办法
7万
查看次数

JavaScript从对象数组中获取不在另一个对象数组中的元素

我是JavaScript编程的新手,我有两个具有以下结构的对象数组:

myFirstObjArray = [{foo: 1, bar: 1}, {foo: 3, bar: 3}, {foo: 4, bar: 5}];
mySecondObjArray = [{foo: 2}, {foo: 4}, {foo: 5}];
Run Code Online (Sandbox Code Playgroud)

我需要获得两个包含key值的独立数组foo,第一个包含第一个数组但不在第二个数组中的数组,基于key的值,foo第二个包含mySecondObjArray但不在myFirstObjArray.

有没有办法做到这一点没有

for(i=0;i<myFirstObjArray.length;i++)
   for(j=0;j<mySecondObjArray .length;j++)
      {...build first array here}

for(i=0;i<mySecondObjArray .length;i++)
   for(j=0;j<myFirstObjArray.length;j++)
      {...build second array here}
Run Code Online (Sandbox Code Playgroud)

?也许我的问题是一个我没找到的重复问题,所以请保持温和.

预期产量:

firstArray = [{foo: 1}, {foo: 3}];
secondArray = [{foo: 2}, {foo: 5}];
Run Code Online (Sandbox Code Playgroud)

javascript arrays javascript-objects

20
推荐指数
2
解决办法
1961
查看次数