我有一个作业,需要检查两个整数数组(未排序)是否:
- 长度相同
- 第一个数组的元素包含整数,并且第二个数组包含任意顺序的相同值的平方。
例如:
test([5,4,1], [1,16,25]) // would return true ..
我目前所做的是首先将两个输入数组进行排序,然后比较它们的长度。一旦确定长度相同,我们就会迭代每个值以确保它们相等。请注意,因为我的循环没有给我预期的结果,所以我还没有开始将值与它们的平方对应项进行比较。以下是代码:
function test(arr1, arr2){
// sort arrays
const arr1Sort = arr1.sort(),
arr2Sort = arr2.sort();
// compare length and then compare values
if(arr1Sort.length === arr2Sort.length) {
for(let i = 0; i < arr1Sort.length; i++) {
if(arr1Sort[i] === arr2Sort[i]) {
return true;
} else {
return false;
}
}
}
}
console.log(test([1,2,3], [1,5,4])); returns true but the array values are different?!