配列の検索

配列メニュー【配列に含まれている?・何番目にある?・何個ある?】

【STEP: 1】コード

const A = [10, 13, 21, 1, 6, 51, 10, 8, 1, 5, 6];
   // コード1 …if文
if(A.includes(6)){  // A に 6 が含まれていれば…
   console.log('Yes');  // 'Yes'を出力
   }else{  // さもなくば…
   console.log('No');  // 'No'を出力
}
   // コード2 …三項条件演算子 (条件 ? trueで実行:falseで実行)
console.log(A.includes(6) ? 'Yes' : 'No');
hogeちゃんの画像

includes()で引数 と同じ要素が含まれていれば true を返してくれます。

【STEP: 2】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const A = [5, 12, 6, 84, 14, 25, 44, 3, 7, 20];
   console.log(A.includes(N) ? 'Yes' : 'No');
});
hogeちゃんの画像

調べたい値を N で受け取っています。それ以外は【STEP: 1】と同じです。

【STEP: 3】コード

reader.on('close', () => {
   const [N, M] = lines[0].split(' ').map(Number);
   const A = lines[1].split(' ').map(Number);
   console.log(A.includes(M) ? 'Yes' : 'No');
});
hogeちゃんの画像

A.includes()の引数が M になりました。

【STEP: 4】コード

const A = [1, 10, 2, 9, 3, 8, 4, 7, 5, 6];
console.log(A.indexOf(8) + 1);
hogeちゃんの画像
A.indexOf(8)A に含まれる 8 の index が取得できました。

【STEP: 5】コード

reader.on('close', () => {
   const A = [1, 5, 9, 7, 3, 2, 4, 8, 6, 10];
   const N = Number(lines[0]);
   console.log(A.indexOf(N) + 1);
});
hogeちゃんの画像

【STEP: 4】の応用。調べたい値を N で受け取っています。

【STEP: 6】コード

reader.on('close', () => {
   const [N, M] = lines[0].split(' ').map(Number);
   const A = lines[1].split(' ').map(Number);
   console.log(A.indexOf(N) + 1);
});
hogeちゃんの画像

【STEP: 5】の応用。

【STEP: 7】コード

const A = [1, 2, 2, 1, 2, 1, 2, 1, 1, 1];
let ans = 0;  // 出力値を 0 で初期化
A.forEach(a => {  // A の要素を a で受け取って…
   if (a === 1) {  // 1 と一致すれば…
      ans++;  // ans を加算
   }
});
hogeちゃんの画像

forEach()A の各要素を a で受け取り 1 と一致すれば ans を加算しています。

【STEP: 8】コード

reader.on('close', () => {
   const A = [1, 2, 5, 1, 4, 3, 2, 5, 1, 4];
   const N = Number(lines[0]);
   let ans = 0;
   A.forEach(a => {
      if (a === N) {
         ans++;
      }
   });
   console.log(ans);
});
hogeちゃんの画像

a (Aの各要素) が N と一致すれば ans++。

【FINAL】コード

reader.on('close', () => {
   const [N, M] = lines[0].split(' ').map(Number);
   const A = lines[1].split(' ').map(Number);
   let ans = 0;
   for (let i = 0; i < M; i++) {
      if (A[i] === N) {
         ans++;
      }
   }
   console.log(ans);
});
hogeちゃんの画像

こちらは for文 を使っていますが【STEP: 8】の応用です。

コメント