配列メニュー【配列に含まれている?・何番目にある?・何個ある?】
【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');
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');
});
調べたい値を 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');
});
A.includes()
の引数が M になりました。
【STEP: 4】コード
const A = [1, 10, 2, 9, 3, 8, 4, 7, 5, 6];
console.log(A.indexOf(8) + 1);
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);
});
【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);
});
【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 を加算
}
});
forEach()
で A の各要素を a で受け取り 1 と一致すれば ans を加算しています。
Task
【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);
});
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);
});
こちらは for文 を使っていますが【STEP: 8】の応用です。
コメント