Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでリテラルの2つの配列の間で欠落している数を見つける


問題

arr1とarr2の2つの配列を受け取るJavaScript関数を作成する必要があります。

arr2は、arr1のシャッフルされた複製であり、要素が1つだけ欠落しています。

関数はその1つの要素を見つけて返す必要があります。

以下はコードです-

const arr1 = [6, 1, 3, 6, 8, 2];
const arr2 = [3, 6, 6, 1, 2];
const findMissing = (arr1 = [], arr2 = []) => {
   const obj = {};
   for (let i = 0; i < arr1.length; i++) {
      if (obj[arr1[i]] === undefined) {
         obj[arr1[i]] = 1;
      } else {
         obj[arr1[i]]++;
      };
   }
   for (let i = 0; i < arr2.length; i++) {
      if (obj[arr2[i]] === undefined || obj[arr2[i]]-- === 0) {
         return arr2[i];
      }
   }
   for (key in obj) {
      if (obj[key] > 0) {
         return Number(key);
      }
   }
   return -1;
};
console.log(findMissing(arr1, arr2));

出力

以下はコンソール出力です-

8

  1. JavaScriptで2つの配列から最大数を見つける

    問題 1番目と2番目の引数として2つの数値arr1とarr2を表す1桁の数値の2つの配列を受け取るJavaScript関数を作成する必要があります。関数の3番目の引数は数値になります num (num <= length of arr1 + length of arr2) この関数は、長さnumの1桁の数値の新しい配列を返す必要があります。これは、それ自体が数値を表します。また、この数は、両方の配列の要素を使用して作成できる最大数である必要があります。唯一の条件は、同じ配列の要素の相対的な順序を維持する必要があることです。 たとえば、関数への入力が-の場合 const arr1 =

  2. JavaScriptで2つのIPアドレスの間に存在するIPアドレスの数を数える

    問題 2つのIPv4アドレスを受け取り、それらの間のアドレスの数(最初のアドレスを含み、最後のアドレスを除く)を返すJavaScript関数を作成する必要があります。 これは、それらを10進数に変換し、それらの絶対差を見つけることによって実行できます。 例 以下はコードです- const ip1 = '20.0.0.10'; const ip2 = '20.0.1.0'; const countIp = (ip1, ip2) => {    let diff = 0;    const aIp1 = ip1.s