有没有办法在JavaScript中返回两个数组之间的差异?
例如:
var a1 = ['a', 'b'];
var a2 = ['a', 'b', 'c', 'd'];
// need ["c", "d"]
Run Code Online (Sandbox Code Playgroud)
任何建议都非常感谢.
我正在寻找一个好的算法来获取一个数组中不是另一个数组中的元素的所有元素.所以给定这些数组:
var x = ["a","b","c","t"];
var ?????????y = [???????"d","a","t","e","g"];
Run Code Online (Sandbox Code Playgroud)
我想最终得到这个数组:
var z = ["d","e","g"];
Run Code Online (Sandbox Code Playgroud)
我正在使用jquery,所以我可以利用$.each()和$.inArray().这是我提出的解决方案,但似乎应该有更好的方法.
// goal is to get rid of values in y if they exist in x
var x = ["a","b","c","t"];
var y = ["d","a","t","e","g"];
var z = [];
$.each(y, function(idx, value){
if ($.inArray(value,x) == -1) {
z.push(value);
}
});
?alert(z); // should be ["d","e","g"]
Run Code Online (Sandbox Code Playgroud)
这是代码的实际应用.有任何想法吗?
如果我有一个数组A = [1, 4, 3, 2],B = [0, 2, 1, 2]我想返回一个带有值的新数组(A - B)[0, 2, 2, 0].在javascript中执行此操作的最有效方法是什么?
有2个大的,可能非常大的嵌套javascript数组.一个是当前的,另一个是该数组的先前迭代.该功能需要找到所有不同的元素,并根据任何变化采取行动.
我知道如何制作一个这样的功能,我想知道做这样的事情的最佳实践是什么.任何好的建议将不胜感激.我正在寻找使用本机JavaScript与jQuery处理不同元素的响应.
这个问题涉及几个方面.
比较对象的最有效方法是什么.在javascript检查中,通过if,如果一个对象等于或不等于另一个对象,将始终说它不会,即使它们是相等的.因此,需要对对象进行细分和比较.
返回结果的最佳方法是什么?你是否做出了一系列的差异?虽然通过第一个数组,你清除了与第一个数组相同的对象,还是创建一个全新的数组返回?
我有阵列像;
var john = { name: "John Smith", age: 23 };
var mary = { name: "Mary Key", age: 18 };
var bob = { name: "Bob-small", age: 6 };
var people = [john, mary, bob];
var john2 = { name: "John Smith", age: 23 };
var people2 = [john2];
Run Code Online (Sandbox Code Playgroud)
我想做的是从人们中减去people2并获得结果;
[mary, bob];
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?TIA
我需要帮助设计一个函数,它将返回Javascript中两个字符串数组之间的差异(jQuery也可以接受).
我基本上在寻找一个计算数组A 减去 B 的函数.
所以,如果我们有以下"
A = ['Istanbul', 'Hong Kong', 'Berlin']; B = ['Berlin', 'Bonn'];
diff = minus(A,B)应该diff使用以下值进行调用['Istanbul', 'Hong Kong']
我不想使用其他库JS Set.
请帮忙提出建议......
我有
['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
我想知道这个数组是否包含在这个数组中:
['a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)
我知道我可以做2个循环并检查每个项目的项目,但是它有一个oneliner吗?
假设我们有以下对象数组根据属性进行比较id:
a = [{'id':'1', 'name':'a1'}, {'id':'2', 'name':'a2'}, {'id':'3', 'name':'a3'}]
Run Code Online (Sandbox Code Playgroud)
和
b = [[{'id':'2', 'name':'a2'}, ]
Run Code Online (Sandbox Code Playgroud)
如何从a中减去b?这样我们就有c = a - b等于[ {'id':'1', 'name':'a1'}, {'id':'3', 'name':'a3'}]。
我试过使用此:
var c= a.filter(function(item) {
return !b.includes(item.id);
});
Run Code Online (Sandbox Code Playgroud)
但仍然无法正常工作。
我有两个简单的数组:
var arr_must_exist = ["1","2","3"];
var arr_created = ["2","4","7","8"]; //This is varies depend of the array created.
Run Code Online (Sandbox Code Playgroud)
所以,如果arr_created像示例那样应该有一个警告Your choice must contain 1 and 3
例:
arr_created = ["2","4","7","8"];
alert(`Your choice must contain 1 and 3`)
arr_created = ["2","3","7","8"];
alert(`Your choice must contain 1`)
arr_created = ["4","5","7","8"];
alert(`Your choice must contain 1, 2 and 3`)
arr_created = ["1","2","9","3"];
alert(`Your choice is valid`)
Run Code Online (Sandbox Code Playgroud)
我用,$.each但它只检查数组.不比较它们.
$.each(arr_is_must_exist , function(index, val_must_exist) {
$.each(arr_is_exist_in_table , function(index, val_is_exist) {
if(val_must_exist != val_is_exist){ …Run Code Online (Sandbox Code Playgroud) 我正在编写一个 Ionic 应用程序 - 所以这是 Angular 1.x 中的
我有两个数字数组:
var arr1 = [1,32,423,43,23,64,232,5,67,54];
var arr2 = [11,32,1423,143,123,64,2232,35,467,594];
Run Code Online (Sandbox Code Playgroud)
数组中有两个常见的数字32和64。
如果 2 个数组中至少有 1 个公共数字,我希望某些 JavaScript 能够有效地返回 true。
我有以下代码
angular.forEach(arr1 , function (arr1 , count) {
if ( inArray(arr1 , arr2) )
{
return true;
}
});
Run Code Online (Sandbox Code Playgroud)