[Objective-C]配列内のオブジェクトのキー値から配列を作成する

NSDictionaryが入った配列があるとき、それぞれのオブジェクトのキー値を集めた配列を取得するには、NSArrayのvalueForKey:メソッドを使う。
 配列内の各オブジェクトに対してvalueForKey:を実行して、その結果を配列として返すものである。
NSDictionary *dict1 = [NSDictionary dictionaryWithObjectsAndKeys:@"ABC", @"theKey", nil];
NSDictionary *dict2 = [NSDictionary dictionaryWithObjectsAndKeys:@"DEF", @"theKey", nil];
NSArray *anArray = [NSArray arrayWithObjects:dict1, dict2, nil];
NSLog(@"%@", [anArray valueForKey:@"theKey"]);
この例では、ABCとDEFが入った配列が返る。

応用例
特定のキーの値を持つオブジェクトを配列の中から探す。
 [[anArray valueForKey:@"theKey"] indexOfObject:@"theValue"]; 

この例では、キー"theKey"の値がtheValueである辞書が配列内で最初に現れる位置を返す。

[jQuery]jQueryのバージョンを確認する

ブラウザで開いているページがjQueryを使っているか確認する歳に、下記のコードをブラウザの開発者ツールのコンソールで実行すると、jQueryのバージョンを確認できる。

$().jquery

ページがjQueryを読み込んでいれば、ブックマークレットを作成する際にいきなり「$」が使えるので便利である。

[Ruby]文字列内で正規表現に一致するパターンを全て抽出する

HTMLファイルに出現する特定のタグをすべて抜き出したいときなど、文字列内で繰り返し出現するパターンを正規表現を用いてすべて抽出するには、 String#scan を使う。一致したパターンが全て入った配列が取得できる。

例:
>> '1<img src="1.jpg"><br>2<img src="2.jpg">'.scan(/<img.*?>/)
=> ["<img src=\"1.jpg\">", "<img src=\"2.jpg\">"]