-1

私はオブジェクトを持っています、

obj = {};

今、このオブジェクトにアイテムを追加しています。

obj[element] = /*something*/

key = element としてこのオブジェクトにアクセスしたい場合は、

obj[element];

この操作の時間の複雑さはどうなりますか。

また、オブジェクトの代わりに配列を使用することを提案しないでください。乱数で要素を追加しているため (インデックスとして使用して)、配列のルックアップ時間が一定であることはわかっています。メモリ効率が悪い。

4

2 に答える 2

1

気にしなくていいくらい最低限です。オブジェクトは JavaScript のコア部分であり、マイクロ最適化は良くありません。

時間を節約するコードを書くよりも、わかりやすいコード (オブジェクトであろうとなかろうと) を書く方がはるかに優れています0.000000000001

于 2013-08-02T12:56:14.083 に答える
0

知っておく必要があるのは、配列はJavaScriptでもオブジェクトです。

また、操作の速度を確認するには、次のようにします。

var obj = {}, element = "test";
obj[element] = 333333;

var time1 = new Date().getTime();       // start timestamp
for (var i=0; i<1000; i++)
{
  // here can be any code for measurement
  var a = obj[element];
}
var time2 = new Date().getTime();       // end timestamp
var result = (time2 - time1) / 1000;    // divide all time to number of iterations
alert(result + " ms");
于 2013-08-02T13:05:01.340 に答える