在 JavaScript 中的数组中查找数字及其第 n 个倍数
我们需要编写一个JavaScript函数,它接受一个整数数组作为第一个参数,一个数字,比如n,作为第二个参数。
该函数应该检查数组中是否存在两个这样的数字,一个是另一个的n倍。
如果数组中存在任何这样的对,函数应该返回真,否则返回假。
例如-
如果数组和数字是-
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