Paepoi

Paepoi » JavaScript Tips » JavaScript 配列

JavaScript 配列

# 最終更新日 2024.01.03

配列
indexOf, lastIndexOf, includes は文字列と同様に使えます
// 配列宣言
let array = ['NIKON', 'CANON'];

// 取り出し、先頭はゼロ
console.log(array[0]);

// 追加
array.push('FUJIFILM');

// 前方に追加
array.unshift('OM SYSTEM');

// 書き換え
array[2] = 'SONY';

// 削除
array.splice(1, 1); // array[1] から数えて 1 つ分取り除く
//array.splice(1);  // こうすると array[1] 以降を全部取り除くので注意

// 合体、書き換えではなく戻り値なので注意
array = array.concat(['LUMIX', 'PENTAX'])

// 要素数
console.log(`現在 ${array.length} 個のデータがあります`);

// 含まれている?
if (array.includes('MINOLTA')) {
    console.log('今の君はピカピカに光って〜');
} else {
    console.log('MINOLTA ってもう無いのか...');
}

// ループ 
for (let s of array) {
    console.log(s);
}

// [3, 3, 3, 3, 3] になる
let aa = new Array(5).fill(3);

// ['日', '本', '語', ' ', 'O', 'K'] になる
let bb = Array.from('日本語 OK');

連想配列
object が順番を保持するようになったので連想配列として問題なく使えるようになりました
// Python の dict() 同様にキーは文字列にしなくてもよい
let map = {
    FUJIFILM: 'チェキ',
    OM_SYSTEM: 'PEN'
}
// 取り出し、添字でもドットでも取り出し可能
console.log(map['FUJIFILM']);
console.log(map.OM_SYSTEM);

// 追加、添字でもドットでも追加可能
map['LUMIX'] = 'S1';
map.NIKON = 'Z9';

// 書き換え、以下同文
map.OM_SYSTEM = 'OM-1';

// 含む?は無いので
if (map.iPhone === undefined) {
    console.log('いや昨今はスマホも画質はいいけど...');
}

// 削除
delete map.FUJIFILM;

// ループ、in なので注意
for (let key in map) {
    console.log(`key=${key} value=${map[key]}`);
}

Map
object が順番を保持するようになりループ文で困ることがなくなったので出番が無くなりそう
let map = new Map();

// 追加
map.set('OM SYSTEM', 'プロキャプチャ');
map.set('PENTAX', 'アストロトレーサー');
map.set('SONY', 'グローバルシャッター');
map.set('FUJIFILM', 'ハイブリッドビューファインダー');

// 取り出し
console.log(map.get('PENTAX'));

// 書き換え
map.set('OM SYSTEM', 'ライブ ND');

// 削除
map.delete('SONY');

// 含む
if (map.has('PENTAX')) {
    console.log('PENTAX ってまだあったんだ...')
}

// 含まれる数、length じゃないのか
console.log(`現在 ${map.size} 個のデータがあります`);

// ループ
for (let [key, val] of map) {
    console.log(`${key} の変態機能は ${val} です`);
}

Copyright(C) sasakima-nao All rights reserved 2002 --- 2024.