我对 if-else 语句有疑问,而且 splice 似乎不起作用。
function same(arr1, arr2) {
if (arr1.length !== arr2.length) {
return false;
}
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
let correctIndex = arr1[i] * 2;
if (correctIndex !== arr2[j]) {
return false;
}
}
console.log(arr2);
arr2.splice(correctIndex, 1)
}
return true;
}
same([1, 2, 3, 2], [9, 1, 4, 4]);
最佳答案
试试这个:
const sortNumber = numArray => numArray.sort((a, b) => a - b);
const same = (_arr1, _arr2) => {
const arr2 = sortNumber(_arr2);
return sortNumber(_arr1).every((res,i)=>arr2[i]===res**2);
}
console.log(same([1, 2, 3, 2], [9, 1, 4, 4]))
关于javascript - 使用 Javascript 验证第二个数组中的值是否对应于第一个数组的平方值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57102589/