在 JavaScript 中查找数组中的数字及其第 n 个倍数
我们需要编写一个 JavaScript 函数,该函数将数组中的整数作为第一个参数,将数字 n 作为第二个参数。
该函数应检查数组中是否存在两个这样的数字,其中一个是另一个数字的第 n 个倍数。
如果数组中存在任何这样的对,则该函数应返回 true,否则返回 false。
例如 −
如果数组和数字为 −
const arr = [4, 2, 7, 8, 3, 9, 5]; const n = 4;
则输出应为 −
const output = true;
因为数组和中存在数字 2 和 8 。
8 = 2 * 4
示例
下面是代码 −
const arr = [4, 2, 7, 8, 3, 9, 5]; const n = 4; const containsNthMultiple = (arr = [], n = 1) => { const hash = new Set(); for(let i = 0; i < arr.length; i++){ const el = arr[i]; const [left, right] = [el / n, el * n]; if(hash.has(left) || hash.has(right)){ return true; }; hash.add(el); }; return false; }; console.log(containsNthMultiple(arr, n));
输出
下面是控制台输出 −
true
广告