在 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

以上是 在 JavaScript 中的数组中查找数字及其第 n 个倍数 的全部内容, 来源链接: utcz.com/z/335649.html

回到顶部