我创建了一个程序来检查第二个数组是否是第一个数组的平方。在程序中,我使用了一个 square 变量 double 和有序元素,并与目标检查两者是否相同;如果它们相同,则返回 true。但缺失的部分是什么?您能检查并纠正吗?
function compareSqr(nums, target) {
let square = nums.map((num) => num * num).sort((a, b) => (a - b));
if (square == target) {
return true
} else {
return false
}
}
console.log(compareSqr([1, 2, 3, 4], [1, 4, 9, 16]))
您正在尝试比较两个对象,但如果它们不共享相同的对象引用,那么您会得到不同的对象。
更好地将数组与其值进行比较。
function compareSqr(values, squares) {
return values.every((value, index) => value ** 2 === squares[index]);
}
console.log(compareSqr([1, 2, 3, 4], [1, 4, 9, 16]));