Core
Native
Class
Element
Utilities
Fx
Request
Plugins
- Fx.Slide
- Fx.Scroll
- Fx.Elements
- Drag
- Drag.Move
- Color
- Group
- Hash.Cookie
- Sortables
- Tips
- SmoothScroll
- Slider
- Scroller
- Assets
- Accordion
一連の配列メソッドです。
配列の各要素に対して関数を呼び出します。
myarray.each(fn[, bind]);
fn(item, index, array)
//"0 = apple", "1 = banana", という具合にアラート: ['apple', 'banana', 'lemon'].each(array(item, index){ alert(index + " = " + item); }); //オプションの第2引数であるbindは使用していません。
配列のすべての要素が提供されたテスト関数の条件を満たしていれば、trueを返します。 このメソッドは配列:every をネイティブにサポートしていないブラウザでだけ有効になります。
var allPassed = myarray.every(fn[, bind]);
fn(item, index, array)
var areAllBigEnough = [10, 4, 25, 100].every(function(item, index){ return item > 20; }); //areAllBigEnough = false
ある配列の要素に対してフィルター関数を適用し、trueを返した要素からなる新しい配列を作成します。 このメソッドは配列:filterをネイティブにサポートしないブラウザでだけ有効です。
var filteredarray = myarray.filter(fn[, bind]);
fn(item, index, array)
var biggerThanTwenty = [10, 3, 25, 100].filter(array(item, index){ return item > 20; }); //biggerThanTwenty = [25, 100]
ある配列から、定義済みの要素 (nullやundefinedではない)のみからなる新しい配列を作成します。
var cleanedarray= myarray.clean();
var myarray = [null, 1, 0, true, false, "foo", undefined, ""]; myarray.clean() // 戻り値: [1, 0, true, false, "foo", ""]
特定の値に等しい要素がその配列内で一番はじめに出現するインデックスを返し、見つからなかった場合は-1を返します。 このメソッドは配列:indexOfをネイティブにサポートしないブラウザでのみ有効です。
var index = myarray.indexOf(item[, from]);
['apple', 'lemon', 'banana'].indexOf('lemon'); //戻り値 1 ['apple', 'lemon'].indexOf('banana'); //戻り値 -1
配列内のすべての要素に対して渡された関数を実行し、その戻り値からなる新しい配列を作成します。 このメソッドは配列:mapをネイティブにサポートしていないブラウザでのみ有効です。
var mappedarray = myarray.map(fn[, bind]);
fn(item, index, array)
var timesTwo = [1, 2, 3].map(array(item, index){ return item * 2; }); //timesTwo = [2, 4, 6];
配列内の少なくとも一つの要素が、テスト関数の条件を満たすとき、trueを返します。 このメソッドは配列:someをネイティブにサポートしないブラウザに対してのみ提供されます。
var somePassed = myarray.some(fn[, bind]);
fn(item, index, array)
var isAnyBigEnough = [10, 4, 25, 100].some(array(item, index){ return item > 20; }); //isAnyBigEnough = true
配列を元に、渡されたキーワードと配列の現在の要素をキー-値のペアにしたオブジェクトを作成します。
var associated = myarray.associate(obj);
var animals = ['Cow', 'Pig', 'Dog', 'Cat']; var sounds = ['Moo', 'Oink', 'Woof', 'Miao']; sounds.associate(animals); //戻り値: {'Cow': 'Moo', 'Pig': 'Oink', 'Dog': 'Woof', 'Cat': 'Miao'}
値を割り当てるためのキー-関数ペアを持つオブジェクトを受け取ります。
var result = array.link(array, object);
var el = document.createElement('div'); var arr2 = [100, 'Hello', {foo: 'bar'}, el, false]; arr2.link({myNumber: Number.type, myElement: Element.type, myobject: object.type, mystring: string.type, myboolean: $defined}); //戻り値: {myNumber: 100, myElement: el, myobject: {foo: 'bar'}, mystring: 'Hello', myboolean: false}
配列が任意の要素を含んでいるかテストします。
var inarray = myarray.contains(item[, from]);
["a","b","c"].contains("a"); //trueを返す ["a","b","c"].contains("d"); //falseを返す
配列にもう一つの配列の要素をすべて含めて拡張します。
myarray.extend(array);
var animals = ['Cow', 'Pig', 'Dog']; animals.extend(['Cat', 'Dog']); //animals = ['Cow', 'Pig', 'Dog', 'Cat', 'Dog'];
配列から最後の要素を取得して返します。
myarray.getLast();
['Cow', 'Pig', 'Dog', 'Cat'].getLast(); //戻り値: 'Cat'
配列からランダムな要素を返します。
myarray.getRandom();
['Cow', 'Pig', 'Dog', 'Cat'].getRandom(); //要素の中から任意のものを返します。
配列に要素を渡し、配列内に同じ要素が存在しなければ追加します。(オブジェクトのタイプを重視します)
myarray.include(item);
['Cow', 'Pig', 'Dog'].include('Cat'); //戻り値: ['Cow', 'Pig', 'Dog', 'Cat'] ['Cow', 'Pig', 'Dog'].include('Dog'); //戻り値: ['Cow', 'Pig', 'Dog']
ある配列に別の配列の要素を追加します。オブジェクトの型を重視し、重複は許可しません。
myarray.combine(function);
var animals = ['Cow', 'Pig', 'Dog']; animals.combine(['Cat', 'Dog']); //animals = ['Cow', 'Pig', 'Dog', 'Cat'];
配列から該当する要素を削除します。
myarray.erase(item);
['Cow', 'Pig', 'Dog', 'Cat', 'Dog'].erase('Dog') //returns ['Cow', 'Pig', 'Cat'] ['Cow', 'Pig', 'Dog'].erase('Cat') //戻り値: ['Cow', 'Pig', 'Dog']
配列を空っぽにします。
myarray.empty();
var myarray= ['old', 'data']; myarray.empty(); //myarrayは []になりました。
複数の階層構造を持つ配列を平坦な配列に変換します。
myarray.flatten();
var myarray = [1,2,3,[4,5, [6,7]], [[[8]]]]; var newarray = myarray.flatten(); //newarrayjは[1,2,3,4,5,6,7,8]になりました。
16進数のカラー値をRGBに変換します。渡される配列は次のような16進数カラーフォーマットでなければなりません。 ['FF','FF','FF']
myarray.hexToRgb([array]);
['11','22','33'].hexToRgb(); //戻り値: "rgb(17,34,51)" ['11','22','33'].hexToRgb(true); //戻り値: [17, 34, 51]
RGBカラーの値を16進数に変換します。渡される配列は次のようなRGBカラー形式の配列でなくてはなりません。 [255,255,255]または [255,255,255,1]
myarray.rgbToHex([array]);
[17,34,51].rgbToHex(); //戻り値: "#112233" [17,34,51].rgbToHex(true); //戻り値: ['11','22','33'] [17,34,51,0].rgbToHex(); //戻り値: "transparent"
配列のコピーを作成します。DOMノードコレクション、arguementsオブジェクトといった反復処理が可能なオブジェクトに配列のプロトタイプを適用したい場合に役立ちます。
var copiedArray = $A(iterable);
function myfunction(){ $A(arguments).each(function(argument, index){ alert(argument); }); }; myfunction("One", "Two", "Three"); //"One"、"Two"、"Three"の順にアラート。
var anArray = [0, 1, 2, 3, 4]; var copiedArray = $A(anArray); //戻り値: [0, 1, 2, 3, 4].
このドキュメントはMooToolsのドキュメントを元に高橋文樹が翻訳(ちょっと改変)しました。
本家と同じく、Attribution-NonCommercial-ShareAlike 3.0ライセンスで公表されています。