输出为真或假的两个不同的数组。用函数this my code比较两个数组:
var cekDiff = function (arr1, arr2) {
var maxLength = 0,
cekTrue = 0;
if (arr1.length > arr2.length) maxLength = arr1.length;
else maxLength = arr2.length;
for (var i = 0; i < maxLength; i++) {
if (arr1[i] == arr2[i]) {
cekTrue++;
}
}
if (cekTrue >= maxLength) return true;
else return false;
}
if (cekDiff([0, 1, 2, 4, 3], [0, 1, 2, 3, 4])) {
console.log("match");
} else {
console.log("different");
}
您可以通过递增或递减来计算每个元素。然后获取值,如果全部为零,则返回 true
。
function sameValues(a, b) {
const
counter = (o, i) => k => o[k] = (o[k] || 0) + i,
count = {};
a.forEach(counter(count, 1));
b.forEach(counter(count, -1));
return !Object.values(count).some(Boolean);
}
console.log(sameValues([0, 1, 2, 4, 3], [0, 1, 2, 3, 4]));
console.log(sameValues([0, 1, 2, 4, 3], [0, 1, 2, 3, 4, 5]));
使用reduce检查您的阵列
const isArrayExact = (arr1, arr2) => arr1.reduce((acc, curr, index) => acc && ,true)
比较每个元素,但检查是否存在
您非常接近,因为两个数组的值顺序不同,并且您是按索引匹配的(newArr1[i]==newArr2[i]
),所以您需要先对数组排序,然后检查是否相等
js prettyprint-override">var cekDiff = function(arr1, arr2) {
let newArr1 = [...arr1].sort((a, b) => a - b)
let newArr2 = [...arr2].sort((a, b) => a - b)
var maxLength = 0,
cekTrue = 0;
if (newArr1.length > newArr2.length) maxLength = arr1.length;
else maxLength = newArr2.length;
for (var i = 0; i < maxLength; i++) {
if (newArr1[i] == newArr2[i]) {
cekTrue++;
}
}
if (cekTrue >= maxLength) return true;
else return false;
}
if (cekDiff([0, 1, 2, 4, 3], [0, 1, 2, 3, 4])) {
console.log("match");
} else {
console.log("different");
}
问题内容: 我想检查两个数组是否相等。我的意思是:相同的大小,相同的索引,相同的值。我怎样才能做到这一点? 根据用户的建议,如果数组中的至少一个元素不同,我希望以下内容可以打印 enter ,但实际上没有。 问题答案: $arraysAreEqual = ($a == $b); // TRUE if $a and $b have the same key/value pairs. $arraysA
a只保留[1,2]
在JavaScript中,检查两个数组是否具有相同/相等的值(以任何顺序)的最佳方法是什么? 这些值只是数据库实体的主键所以它们总是不同的 方法应该是什么样子的? 另外,这个问题看起来像是重复的,但我没有找到任何与Javascript相关的东西。
我有一个简单的javascript问题,我真的需要一些帮助!我正在尝试弄清楚如何在数组之间比较元素,以及在下一个循环中再次比较较大的元素。假设我们有数组A和数组B。 我的问题是,在比较索引处的元素之后,我希望在下一个循环周期中比较较大的元素。 如果A=[5,7,4],B=[2,8,5] 在第一个循环中,5与2进行比较,2较小,因此会发生一些事情。在下一个循环周期中,我希望5与8进行比较,而对于现在
以上数组根据id分成两个数组 请问应该怎么解决?
问题内容: 我有两个非常大的numpy数组,它们都是3D的。我需要找到一种有效的方法来检查它们是否重叠,因为首先将它们都转换为集合会花费很长时间。我尝试使用在此找到的另一个解决方案来解决相同的问题,但适用于2D阵列,但是我没有设法使其适用于3D。这是2D解决方案: (其中A和B是2D数组)我需要找到重叠的numpy数组的数量,而不是特定的数组。 问题答案: 我们可以利用我在一些问答中使用过的辅助功