2

オブジェクト/配列の検索方法について質問があります。たとえば、次のようにします。

while ($obj = $sql->fetch_object()) {
    array_push($jsonObj,array('serial' => $obj->serialNum,'model' => $obj->model,'os' => $obj->os,'man' => $obj->manufacturer,'team' => $obj->team,'enabled'=>'true'));

if($.inArray((JsonObj[i].os)) >= 0){...}

基本的に、コンピューター情報を保持する6つの「列」を持つ多次元配列があります。

オブジェクトがコンピューターに関する詳細 (RAM、ハードドライブなど) を保持し、「列」が多い場合、この「if」はオブジェクト/配列の検索に時間がかかりますか? または、ドット表記はそれを防ぎますか?

4

1 に答える 1

0

プロパティの検索は、プロトタイプ チェーンを下るほど遅くなります。あなたの場合、オブジェクトをループするのではなく、配列インデックスをループしています。したがって、オブジェクト参照をキャッシュした後は、プロパティの取得に時間がかかることはありません。

すでにチェーンをずっと下っている場合は、オブジェクトのプロパティをループすることは避けてください。

for( property in object.property1.property2.property3[i] ) これは実際に遅くなるからです。

于 2013-10-14T16:14:54.960 に答える