Home | Notifications | New Note | Local | Federated | Search | Logout

Note Detail


たかし@tak4 (2026-02-22 18:11:54)
jsの配列の添字は内部的に文字列なのでarray[1]の様に書くと内部的に1が文字列の"1"に変換されるらしい。効率が悪い。さすがに処理系によって最適化されて居るのかな。
Reply

---Replies---
たかし@tak4 (2026-02-23 18:24:30)
計測してみたら、array[1]とarray["1"]とでは処理速度に大きな差は無かったので、文字列への変換は気にしなくて良いらしい。
しかも次の様な関数を呼び出した場合、f(1)よりf("1")の方が10倍ほど時間がかかった(関数に文字列を渡すとコストがかかるのかな)キーの類は数値として扱ふ方が効率は良いかも。
function f(i) { return array[i]; }