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

多次元配列と単一配列を受け取り、multi-d配列内の単一配列の一致を検索するJavaScript関数


最初の引数として数値の配列の配列を取り、2番目の引数として数値の配列を受け取るJavaScript関数を作成する必要があります。関数は、最初の配列の各配列からサブ配列を選択する必要があります(2番目の配列と最初の配列の対応する配列の両方に共通の項目を含むサブ配列)。

例-

入力が-

の場合

const arr1 = [
[1,2,5,6],
[5,13,7,8],
[9,11,13,15],
[13,14,15,16],
[1,9,11,12]
];
const arr2 = [9,11,13,15,1,2,5,6];

出力

そして、コンソールの出力は-

になります
const output = [
[1, 2, 5, 6],
[5, 13],
[9, 11, 13, 15],
[13, 15],
[1, 9, 11]
]
>

最初の配列の最初のサブ配列と2番目の配列の間の共通要素は、出力配列の最初のサブ配列を形成します。

最初の配列の2番目のサブ配列と2番目の配列の間の共通要素は、出力配列の2番目のサブ配列を形成します。など。

const arr1 = [
[1,2,5,6],
[5,13,7,8],
[9,11,13,15],
[13,14,15,16],
[1,9,11,12]
];
const arr2 = [9,11,13,15,1,2,5,6];
const findIntersection = (arr1 = [], arr2 = []) => {
   const regex = new RegExp('\\b(' + arr1.join('|') + ')\\b', 'g');
   const res = [];    
   arr2.forEach(arr => {
      let matches = arr.join(' ').match(regex);
      if (matches.length) {          
         res.push(matches.map(Number));
      };
   });
   return res;
}
console.log(findIntersection(arr2, arr1));

出力

そして、コンソールの出力は-

になります
[
   [ 1, 2, 5, 6 ],
   [ 5, 13 ],
   [ 9, 11, 13, 15 ],
   [ 13, 15 ],
   [ 1, 9, 11 ]
]

  1. JavaScriptでの1次元配列と多次元配列。

    以下は、JavaScriptの単一次元および多次元配列のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>  

  2. 数値を入力し、JavaScriptのボタンクリックで数字を加算する関数を記述します

    ユーザーに数値を入力するための入力を提供するJavaScriptプログラムを作成する必要があります。 また、ユーザーがボタンをクリックしたときに入力すると、数字のすべての桁の合計が表示されます。 例 このためのコードは-になります JavaScriptコード − function myFunc() {    var num = document.getElementById('digits').value;    var tot = 0;    num.split('').forEach( fu