Arrayオブジェクト
Arrayオブジェクトは、配列型の値を扱うためのオブジェクトで、配列に対して要素の追加/削除、結合、並べ替えを行うための機能を提供する。配列を生成するには原則、配列リテラルを利用する。
sample.js
let array = []
のように定義する。
Arrayオブジェクトの主なメンバー
Arrayオブジェクトで利用できるメンバーは以下のようなものがある。
length : 配列のサイズ
isArray(obj) : 指定したオブジェクトが配列にあるか
toString() : 「要素 , 要素 , ...」の形式で文字列に変換
toLocaleString() : 配列を文字列に変換(区切り文字はロケールによって変化)
indexOf(elem[, index]) : 指定した要素に合致した最初の要素のキーを取得(indexは検索開始位置)
lastIndexOf(elem[, index]) : 指定した要素に合致した最後の要素のキーを取得(indexは検索開始位置)
entries() : すべてのキー/値を取得
keys() : すべてのキーを取得
values() : すべての値を取得
concat(ary) : 指定配列を現在の配列に連結
join(del) : 配列内の要素を区切り文字delで連結
slice(start[, end]) : start + 1 ~ end番目の要素の抜出し
splice(start, cnt[, rep[, ...]]) : 配列内の start + 1 ~ start + cnt番目の要素をrep...で置き換える
from(alike, [map[, this]]) : 列挙可能なオブジェクトを配列に変換する
of(e1...) : 可変長引数を配列に変換
copyWithin(target, start[, end]) : start + 1 ~ end番目の要素をtarget + 1番目からの位置にコピー
fill(val, start[, end]) : 配列内のstart + 1 ~ end番目の要素をvalで置き換え
pop() : 配列末尾の要素を取得、削除
push(data1[, data2, ...]) : 配列末尾に要素を追加
shift() : 配列先頭の要素を取得し、削除
unshift(data1[, data2, ...]) : 配列先頭に要素を追加
reverse() : 逆順に並べ替え
sort([fnc]) : 要素を昇順に並べ替え
//コールバック関数を使ったメソッド
forEach(fnc[, that]) : 配列内の要素を関数fncで順に処理
map(fnc[, thst]) : 配列内の要素を関数fncで順に加工
every(fnc[, that]) : 配列内のすべての要素が条件fncに合致するか
some(fnc[, that]) : 配列内のいずれかの要素が条件fncに合致するか
filter(fnc[, that]) : 条件fncで合致した要素だけで配列を生成
find(fnc[, that]) : 関数fncが初めてtrueを返した要素を返す
findIndex(fnc[, that]) : 関数fncが初めてtrueを返した要素のインデックス番号を取得
reduce(fnc[, init]) : 隣同士の要素を左から右へ関数fncで処理して単一の値にする
reduceRight(fnc[, init]) : 隣同士の要素を右から左へ関数fncで処理して単一の値にする
かなり多くのメソッドがあるが、どれもC++などにもライブラリで備えてあるものである。違いとしては、Arrayオブジェクトはスタック/キューの区別がないことが挙げられる。コールバック関数を使ったメソッドは使用頻度が高い印象。
Mapオブジェクト
Mapオブジェクトは、キー/値のセット、いわゆる連想配列を管理するためのオブジェクトです。
sample.js
//mapの定義
let m = new Map()
//アクセス
for(let [key, value] of m){
console.log(key)
console.log(value)
}
Mapオブジェクトの主なメンバー
Mapオブジェクトで利用できるメンバーは以下のようなものがある。
sample.js
size : 要素数
set(key, val) : キー/値valの要素を追加。重複時は上書き。
get(key) : 指定したキーの要素を取得
has(key) : 指定したキーの要素があるのかを判定
delete(key) : 指定したキーの要素を削除
clear() : すべての要素を削除
keys() : すべてのキーを取得
values() : すべての値を取得
entries() : すべてのキー/値を取得
forEach(fnc[, that]) : マップ内の要素を関数fncで順に処理
Setオブジェクト
Setオブジェクトは、重複しない値の集合を管理するためのオブジェクトです。
sample.js
//Setの定義
let s = new Set()
//アクセス
for(let val of s){
console.log(val)
}
Setオブジェクトの主なメンバー
Setオブジェクトで利用できるメンバーは以下のようなものがある。
sample.js
size : 要素数
add(val) : 指定した値を追加
has(key) : 指定した値の要素があるのかを判定
delete(key) : 指定した値の要素を削除
clear() : すべての要素を削除
values() : すべての値を取得
entries() : すべてのキー/値を取得
forEach(fnc[, that]) : マップ内の要素を関数fncで順に処理
参考資料
山田祥寛様 「javascript本格入門」