javascript - CodeWars Javascript 挑战:它们“相同”吗?
问题描述
卡塔:链接
我的解决方案:
function comp(array1, array2) {
let result;
if (Array.isArray(array1) && Array.isArray(array2) && array1.length && array2.length) {
result = true;
const squares = array2.map(e => Math.sqrt(e));
squares.forEach((e) => {
if (array1.includes(e)) return;
result = false;
});
} else {
result = false
}
return result;
}
我不想要另一个解决方案。我想弄清楚为什么我的没有通过所有的测试。(两次测试失败,但我看不到哪个)
我怀疑true
如果两个数组都是[]
. 但 Kata 的描述另有说明:
如果 a 或 b 为 nil(或 null 或 None),则问题没有意义,因此返回 false。
帮助将不胜感激。
工作解决方案基于答案:
function comp(array1, array2) {
let result;
if (Array.isArray(array1) && Array.isArray(array2)) {
result = true;
const sortedArray1 = array1.sort((a, b) => a - b);
const squares = array2.map(e => Math.sqrt(e)).sort((a, b) => a - b);
squares.forEach((e, i) => {
if (sortedArray1[i] === e) return;
result = false;
});
} else {
result = false
}
return result;
}
解决方案
推荐阅读
- mongodb - 将 MongoDB 从 2.6 升级到 4.2.6
- corda - 如何在 TokenSDK 中使用 addIssueTokens Utility 方法
- ruby-on-rails - Money-rails 显示金额为数千
- c++ - 当我在 Ubuntu 终端上发送 SIGTERM (Ctrl + C) 时,为什么我的 C++ 代码没有终止?
- javascript - 在 keyup 函数中使用通配符
- nginx - 获取 Web 服务的 kerberos/Windows AD 登录工作的问题
- google-apps-script - 将特定数据从工作表复制到工作表
- javascript - 如何在 Node.js 中使用 Jimp 调整图像大小以进行上传而不刷新
- python - 从文本中提取 URL,在 Python3 中的 URL 之间没有空格
- ios - 获取请求“无法识别的选择器”错误