javascript

配列オブジェクトの動的削除

シーケンシャルオブジェクトから指定の値を削除する際のバグ例を書いてみます。 プログラミング慣れした人は簡単に気が付くと思いますが意外に多いバグだと思います。下記は配列の中から"a2"という値をすべて削除するjavascriptの例です。 var a = new Array…

同nameにおける配列オブジェクト

ここ最近、少し鎮火したので久しぶりに書きます。ある程度のWeb開発経験者なら必ず経験したことがあるJavaScriptバグだと思いますが 今回、また目にする機会があったので記述します。 <html> <head> <script language="JavaScript"> <!-- function allCheck(a) { for (i=0; i<a.length; i++) { a[i].che</script></head></html>…

浮動小数の誤差

2進計算による浮動小数の誤差について意識なく平気で演算したり比較するケースをよく見かけます。 大抵はあまり問題は発生しないのですが、特殊なケースで予想と反する結果となります。色々と試してみました。 Ruby(irb)の場合 irb(main):001:0> 1-0.9 == 1/…

parseIntの罠

最近、久しぶりにソース記述ミスによるバグではまったのでメモ。 文字列型をint型に変換するJavaでもお馴染みメソッドparseInt。 javascriptにてn月の翌月を算出するプログラムの中でparseIntを使用して発生した問題。 var i = (parseInt("200809".substr(4)…