差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
cheatsheet [2015/05/10 00:59] kimu_shu [可変長配列] |
cheatsheet [2017/01/26 14:14] (現在) kimu_shu Page name changed from cheetsheet to cheatsheet |
||
---|---|---|---|
ライン 26: | ライン 26: | ||
|別の配列と連結 |//array1// + //array2//|//array1//.concat(//array2//)|| | | |別の配列と連結 |//array1// + //array2//|//array1//.concat(//array2//)|| | | ||
|すべて削除 |//array//.clear |なし ||//list//.clear() | | |すべて削除 |//array//.clear |なし ||//list//.clear() | | ||
+ | |要素を指定して削除|//array//.delete(//value//)\\ (合致する要素全てを削除)|なし\\ (indexOfと「添字を指定して削除」で代用)|| | | ||
+ | |添字を指定して削除|//array//.delete_at(//index//)|//array//.splice(//index//, 1)|| | | ||
|各要素について実行|//array//.each {<nowiki>|</nowiki>//value//<nowiki>|</nowiki> ... }|なし\\ (「各添字について実行」で代用)|for //value// in //array//\\ ...| | | |各要素について実行|//array//.each {<nowiki>|</nowiki>//value//<nowiki>|</nowiki> ... }|なし\\ (「各添字について実行」で代用)|for //value// in //array//\\ ...| | | ||
|各添字について実行|//array//.each_index {<nowiki>|</nowiki>//index//<nowiki>|</nowiki> ...}|for (//index// = 0;\\ //index// < //array//.length;\\ ++//index//)\\ { ... }|なし\\ (「各添字と要素について実行」で代用)| | | |各添字について実行|//array//.each_index {<nowiki>|</nowiki>//index//<nowiki>|</nowiki> ...}|for (//index// = 0;\\ //index// < //array//.length;\\ ++//index//)\\ { ... }|なし\\ (「各添字と要素について実行」で代用)| | | ||
|各添字と要素について実行|なし\\ (「各添字について実行」で代用)|なし\\ (「各添字について実行」で代用)|for //value//, //index// in //array//\\ ...| | | |各添字と要素について実行|なし\\ (「各添字について実行」で代用)|なし\\ (「各添字について実行」で代用)|for //value//, //index// in //array//\\ ...| | | ||
===== 連想配列 ===== | ===== 連想配列 ===== | ||
- | ^ ^Ruby ^JavaScript ^ | + | ^ ^Ruby ^JavaScript ^CoffeeScript ^ |
- | |マニュアル |[[http://docs.ruby-lang.org/ja/2.1.0/class/Hash.html|Ruby 2.1.0]]|[[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object|MDN]]| | + | |マニュアル |[[http://docs.ruby-lang.org/ja/2.1.0/class/Hash.html|Ruby 2.1.0]]|[[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object|MDN]]|[[http://coffeescript.org/|CoffeeScript]]| |
- | |型 |Hash |Object | | + | |型 |Hash |Object || |
- | |依存性 |なし(組み込み型) |なし(組み込み型) | | + | |依存性 |なし(組み込み型) |なし(組み込み型) || |
- | |生成 |Hash.new\\ {//key1// <nowiki>=></nowiki> //value1//, //key2// <nowiki>=></nowiki> //value2//, ...}|new Object()\\ {//key1//: //value1//, //key2//: //value2//, ...}| | + | |生成 |Hash.new\\ {//key1// <nowiki>=></nowiki> //value1//, //key2// <nowiki>=></nowiki> //value2//, ...}|new Object()\\ {//key1//: //value1//, //key2//: //value2//, ...}|| |
- | |要素数 |//hash//.length\\ //hash//.size|Object.keys(//object//).length| | + | |要素数 |//hash//.length\\ //hash//.size|Object.keys(//object//).length|| |
- | |要素参照 |//hash//[//key//]\\ //hash//.fetch(//key//)|//object//[<nowiki>"</nowiki>//key//<nowiki>"</nowiki>]\\ //object//.//key//| | + | |要素参照 |//hash//[//key//]\\ //hash//.fetch(//key//)|//object//[<nowiki>"</nowiki>//key//<nowiki>"</nowiki>]\\ //object//.//key//|| |
- | |要素代入 |//hash//[//key//] = //value//\\ //hash//.store(//key//, //value//)|//object//[<nowiki>"</nowiki>//key//<nowiki>"</nowiki>] = //value//\\ //object//.//key// = //value//| | + | |要素代入 |//hash//[//key//] = //value//\\ //hash//.store(//key//, //value//)|//object//[<nowiki>"</nowiki>//key//<nowiki>"</nowiki>] = //value//\\ //object//.//key// = //value//|| |
+ | |各キーについて実行|//hash//.each_key {<nowiki>|</nowiki>//key//<nowiki>|</nowiki> ... }|for (//key// in //object//) { ... }|for //key// of //object//\\ ...| | ||
+ | |各要素について実行|//hash//.each_value {<nowiki>|</nowiki>//value//<nowiki>|</nowiki> ... }|なし\\ (「各キーについて実行」で代用)|なし\\ (「各キーと要素について実行」で代用)| | ||
+ | |各キーと要素について実行|//hash//.each {<nowiki>|</nowiki>//key//, //value//<nowiki>|</nowiki> ... }\\ //hash//.each_pair {<nowiki>|</nowiki>//key//, //value//<nowiki>|</nowiki> ... }|なし\\ (「各キーについて実行」で代用)|for //key//, //value// of //object//\\ ...| | ||
+ | |キーの配列を取得|//hash//.keys |なし(以下のように一度走査するしかない)\\ var r = [];\\ for (k in //object//) { r.push(k); }|なし(JSよりかは完結に書ける)\\ (k for k, v of //object//)\\ ※演算子の優先順位から、括弧が重要| | ||
===== バイナリデータバッファ(JavaScript固有) ===== | ===== バイナリデータバッファ(JavaScript固有) ===== | ||
^ ^JavaScript ^備考^ | ^ ^JavaScript ^備考^ | ||
ライン 46: | ライン 51: | ||
|生成 |new ArrayBuffer(//length//) |//length//はバイト数| | |生成 |new ArrayBuffer(//length//) |//length//はバイト数| | ||
|サイズ |//arraybuffer//.byteLength |バイト数| | |サイズ |//arraybuffer//.byteLength |バイト数| | ||
- | |コピー |//arraybuffer//.slice(//begin//[, //end//])| | | + | |コピー |//arraybuffer//.slice(//begin//[, //end//])|返却するバッファはコピーされた新規バッファ| |
===== バイナリデータビュー(JavaScript固有) ===== | ===== バイナリデータビュー(JavaScript固有) ===== | ||
ライン 58: | ライン 63: | ||
|::: |//typedarray//.length |要素数 | | |::: |//typedarray//.length |要素数 | | ||
|オフセット|//typedarray//.byteOffset |バイト数| | |オフセット|//typedarray//.byteOffset |バイト数| | ||
+ | |部分配列取得|//typedarray//.subarray([begin[, end]])|バッファは共有するので注意| | ||
+ | |:::|//typedarray//.slice([begin[, end]])|新規バッファを作ってコピー| |