1 |
var hash = {'key1' : 'val1', 'key2' : 'val2', 'key3' : 'val3'}; |
この連想配列の要素「key2」を削除する
1 |
delete hash['key2']; |
在宅プログラマーの備忘録として2005年に始めたブログです。
1 |
var hash = {'key1' : 'val1', 'key2' : 'val2', 'key3' : 'val3'}; |
この連想配列の要素「key2」を削除する
1 |
delete hash['key2']; |
1 |
var array2 = array1; |
のように配列や連想配列をそのまま代入すると「参照渡し」という形になり、
コピー先だけ変更したつもりがコピー元も一緒に変更されてしまいます。
コピーするには配列の中身を代入していく必要があるのですが、
jQueryの場合はextend関数で簡単にコピーできます。
配列:
1 |
var array2 = $.extend(true, [], array1); |
連想配列:
1 |
var array2 = $.extend(true, {}, array1); |
配列の要素数はlengthで取得できますが、
連想配列の場合はlengthは使えません。
スマートではないですがfor inでループを回してカウントするのが簡単です。
連想配列でも配列でも同じように要素数が取得できる関数です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var len = function(val) { if(val == undefined || val == null) { return 0; } if(val instanceof Array) { return val.length; } else if(val instanceof Object) { var _cnt = 0; for(var x in val) { _cnt++; } return _cnt; } else { return val.length; } }; |
文字列だったら長さが返ってきます。