我有两个数组,在我尝试测试任何东西之前,我不知道数组的值。我的意思是数组的长度是动态的
我的问题是如何检查两个数组是否有至少一个公共值
假设我有两个类似情况1的数组:
array1 = ["this", "is", "array"]
array2 = ["this"]
当我们用类似campareArray(array1,array2)的函数比较这些数组时,应该返回true,相同的数组如下:
array1 = ["this"]
array2 = ["this", "is", "array"]
应该返回true
什么是有效的方法?我们可以检查数组长度并检查索引从大到小还有其他好方法吗?
只要找到这些数组之间的交点。参见下面的示例
<script>
var alpha = ["this", "is", "array"],
beta = ["this"];
$.arrayIntersect = function(a, b)
{
return $.grep(a, function(i)
{
return $.inArray(i, b) > -1;
});
};
console.log( $.arrayIntersect(alpha, beta) );
</script>
您可以使用< code>filter()方法并获取两个数组的交集。
var array1 = ["this", "is", "array"],
array2 = ["this"];
var result = array1.filter(function(n) {
return array2.indexOf(n) != -1;
});
console.log("Arrays have common element: " + !!result.length)
console.log(result)
使用 some
() 方法,该方法检查数组中的任何元素是否通过测试(作为函数提供)
var array1 = ["this", "is", "array"];
var array2 = ["this"];
var haveOne = array1.some(function (n) {
return array2.indexOf(n) >= 0;
});
console.log(haveOne);
这里有一个映射,我正在尝试检查数组中的值,如果它找到,则返回;如果它没有找到,则返回预期输出。根据我对和索引的了解,如果(x[index]===y[j]){condition=true}应该进入
问题内容: 如何检查是否具有或的值? 问题答案: 使用? 顺便说一句,您要为键分配一个值两次,因此您的数组将导致一个只有一个值的数组。
我有两个变量A和B,如果A=1,那么B应该B=2,如果A=2,那么B应该B=1,就像这样,有三对,最好的方法是什么,而不是只有if-else
函数“howMany”只是统计了某个特殊的数值的出现次数,有时候我们需要统计每个数值出现的次数。可以用下面这个循环函数完成这项工作。 int numValues = 20; int upperBound = 10; apvector<int> vector = randomVector (numValues, upperBound); cout << "value\thowMany"; for
问题内容: 我有一个名为“ bob”的数组,其中包含值。 我如何才能知道在没有迭代的情况下名为bob的数组中是否存在“傻”值? 问题答案: 您可以使用方法。为此,您需要将数组转换为列表。您可以使用以下方法:
问题内容: 我正在尝试将a 转换为原始类型,反之亦然: 奇怪的是,当我尝试将新分配的分配回a时,结果不过是垃圾。 但是,当我使用原始数据类型作为参数时,似乎相同的算法工作得很好。 问题答案: 改用这些。