Ael.lang.Arrayクラス
説明
ネイティブ組み込みオブジェクトの一つであるArrayオブジェクトを対象とした機能を提供します。
主な機能は後方互換とクロスブラウザを目的としており、ECMAScript3で定義されたメソッドやJavaScript 1.6で追加されたメソッドの独自実装です。
aelプロパティ
arraycopy
ael arraycopy(number fstart, Array to, number tstart, number length) : Array
- @version 0.2
- @param {number} fstart コピー元(From配列)の開始位置
- @param {Array} to To配列
- @param {number} tstart コピー先(To配列)の開始位置
- @param {number} length コピーする配列要素の数
- @return {Array} コピー後のTo配列
Aelオブジェクトが持つ配列(From配列)からTo配列へ指定された範囲の要素をコピーする。
clear
ael clear() : void
- @version 0.2
Aelオブジェクトが持つ配列を空にする。
concat
ael concat([Array array...]) : Array
- @version 0.2
- @param {Array} array... 連結する配列
- @param {Array} 連結した新しい配列
Aelオブジェクトが持つ配列の末尾に引数の配列を連結した新しい配列を返す。
引数には複数の配列を指定することができる。複数指定した場合は第一引数から順に連結する。
contains
ael contains(any value) : boolean
- @version 0.4
- @param {any} value 値
- @param {boolean} true - 配列に引数の値が含まれている場合
Aelオブジェクトが持つ配列に引数の値が含まれている場合は true を返す。
each
ael each(function fn) : void
- @version 0.2
- @param {function} fn 関数
Aelオブジェクトが持つ配列の要素を引数に関数を呼び出す。
関数の引数にはプロパティ値、インデックス(0 始まり)を渡す。
関数から未定義値以外が返された場合、関数の呼び出しを止めて復帰する。
equals
ael equals(Array array) : boolean
- @version 0.3
- @param {Array} array 配列
- @return {boolean} true - 二つの配列が等しい場合
Aelオブジェクトが持つ配列と引数の配列が等しい場合は true を返す。
比較は配列が持つ値で行う。次の三つの条件を全て満たす場合は等しいと判断し、true を返す。
- 配列長が同じ
- 値の順序が同じ
- 値が等しい(値1 === 値2)
every
ael every(function fn[, object scope]) : boolean
- @version 0.2
- @param {function} fn 条件式を含めた関数
- @param {object} [scope] 関数実行時のスコープ(デフォルト:グローバルスコープ)
- @return {boolean} true - 全ての値が条件を満たしている場合(関数の結果が全てtrueの場合)
配列の全ての要素が指定された条件を満たしている場合は true を返す。
このメソッドはGeckoベースブラウザのJavaScript 1.6で追加されたArray.prototype.everyと一部(※)を除いて同じ振る舞いをする。
※JavaScript 1.6は関数未指定時にエラーとするが、Aelは配列が空の場合はtrueを返し、それ以外は false を返す。
filter
ael filter(function fn[, object scope]) : Array
- @version 0.2
- @param {function} fn 条件式を含めた関数
- @param {object} [scope] 関数実行時のスコープ(デフォルト:グローバルスコープ)
- @return {Array} 条件を満たした値を含めた新しい配列
Aelオブジェクトが持つ配列から条件を満たす値を新しい配列に入れて返す。
このメソッドはGeckoベースブラウザのJavaScript 1.6で追加されたArray.prototype.filterと一部(※)を除いて同じ振る舞いをする。
※JavaScript 1.6は関数未指定時にエラーとするが、Aelは空の配列を返す。
indexOf
ael indexOf(any value[, number from]) : number
- @version 0.2
- @param {any} value 値
- @param {number} [from] 検索開始位置のインデックス
- @return {number} 指定した値が最初に出現したインデックス
Aelオブジェクトが持つ配列の中から指定された値が最初に出現するインデックスを返す。
join
ael join([string separator]) : string
- @param {string} separator 区切り文字列
- @return {string} 連結した文字列
Aelオブジェクトが持つ配列の要素を文字列に変換し、区切り文字を間に挟んで連結して返す。
lastIndexOf
ael lastIndexOf(any value[, number from]) : number
- @version 0.2
- @param {any} value 値
- @param {number} [from] 検索開始位置のインデックス(未指定時は配列の最後尾)
- @return {number} 指定した値が最後に出現したインデックス
Aelオブジェクトが持つ配列の中から指定された値が最後に出現するインデックスを返す。
検索は指定した開始位置から配列の先頭に向かって行われる。
map
ael map(function fn[, object scope]) : Array
- @version 0.2
- @param {function} fn 関数
- @param {object} [scope] 関数実行時のスコープ(デフォルト:グローバルスコープ)
- @return {Array} 関数の結果を入れた新しい配列
配列の値を引数に関数を呼び出し、その結果を新しい配列に入れて返す。
このメソッドはGeckoベースブラウザのJavaScript 1.6で追加されたArray.prototype.mapと一部(※)を除いて同じ振る舞いをする。
※JavaScript 1.6は関数未指定時にエラーとするが、Aelは空の配列を返す。
pop
ael pop() : object
- @version 0.2
- @return {object} 配列の最後の要素
Aelオブジェクトが持つ配列の最後の要素を取り除き、その要素を返す。
push
ael push([any value...]) : number
- @version 0.2
- @param {any} [value...] 値
- @return {number} 追加後の配列の長さ
Aelオブジェクトが持つ配列の末尾に引数の値を追加する。
引数には複数の値を指定することができる。複数指定した場合は第一引数から順に末尾に追加し、追加後の配列の長さを返す。
remove
ael remove(number index) : any
- @version 0.2
- @param {number} index 削除したい要素のインデックス
- @return {any} 削除した要素
Aelオブジェクトが持つ配列から指定したインデックスの要素を削除し、削除した要素を返す。
削除後は配列の長さが短くなる。指定したインデックスが配列の範囲外であった場合は、削除せずに未定義値を返す。
reverse
ael reverse() : Array
- @version 0.2
- @return {Array} 逆順に並び替えた配列(新しい配列ではない)
Aelオブジェクトが持つ配列の要素を逆順に並び替える。
shift
ael shift() : object
- @version 0.2
- @return {object} 先頭の要素
Aelオブジェクトが持つ配列を前に一つずらし、先頭にあった要素を返す。
size
ael size() : number
- @version 0.4
- @param {number} 配列長
Aelオブジェクトが持つ配列の長さを返す。
slice
ael slice([number start[, number end]]) : Array
- @version 0.2
- @param {number} [start] 開始インデックス
- @param {number} [end] 最後のインデックス。このインデックスが指す要素は含まれない。未指定の場合は配列の末尾となる。
- @return {Array} startからendまでの要素を含んだ新しい配列
Aelオブジェクトが持つ配列から二つのインデックスが指す部分を新しい配列に入れて返す。
some
ael some(function fn[, object scope]) : boolean
- @version 0.2
- @param {function} fn 条件式を含めた関数
- @param {object} [scope] 関数実行時のスコープ(デフォルト:グローバルスコープ)
- @return {boolean} true - 一つ以上の要素が条件を満たしている場合
Aelオブジェクトが持つ配列の何れかの要素が指定された条件を満たしている場合は true を返す。
このメソッドはGeckoベースブラウザのJavaScript 1.6で追加されたArray.prototype.someと一部(※)を除いて同じ振る舞いをする。
※JavaScript 1.6は関数未指定時にエラーとするが、Aelは false を返す。
sort
ael sort([function comparator]) : Array
- @version 0.2
- @param {function} [comparator] 順序を決定する比較関数
Aelオブジェクトが持つ配列を比較関数に従って並び替えます。
引数の比較関数を指定しない場合は、辞書順に並び替えられます。比較関数を指定した場合は比較関数に従って並び替えられます。
splice
ael splice([number start[, number deleteCount[, object value...]]) : Array
- @version 0.2
- @param {number} [start] 挿入または削除を始める開始インデックス
- @param {number} [deleteCount] 開始インデックスから削除する要素の数
- @param {object} [value...] 開始インデックスから挿入したい要素
- @return {Array} 変更後の配列(新しい配列ではない)
Aelオブジェクトが持つ配列へ要素を挿入、または配列から削除する。
toJSONString
ael toJSONString([boolean partial]) : string
- @version 0.2
- @param {boolean} [partial] RFCに定められた最低限のエスケープを指示するフラグ(デフォルト:false)
- @return {string} JSON形式文字列
Aelオブジェクトが持つ配列をJSON形式の文字列へ変換して返す。
詳細は「Ael#toJSONString()」を参照してください。
unshift
ael unshift([object value...]) : number
- @version 0.2
- @param {object} [value...] 先頭へ追加する要素
- @return {number} 追加後の配列の長さ
Aelオブジェクトが持つ配列の先頭に要素を追加し、追加後の配列長を返す。
追加する要素は複数指定することができます。複数指定した場合は第一引数の値を配列の先頭に追加し、第二引数を配列の二番目に追加し、第三引数以降も順次追加していきます。
within
ael within(number index) : boolean
- @version 0.2
- @param {number} index インデックス
- @return {boolean} true - インデックスが配列の範囲内の場合
引数のインデックスがAelオブジェクトが持つ配列の範囲内の場合は true を返す。