の「非プリミティブの比較サポートされていないが、」私はそれが何を意味するのか理解していない、Unsupported non-primitive compare
です。クロムが問題を語っている</p> <p>、私は自分のアプリケーションのボトルネックを持つクロームプロファイラ
我々は細部に多くのボトルネックを見ることができます:
は、ここでの問題のために正確なコードです
for (var key in this.gdata) {
var rows = this.gdata[key];
for (var i = 0; i < rows.length; i++) {
if (i === 0) first[key] = rows[i];
if (rows[i].date > dt) {
curr[key] = i > 0 && rows[i - 1]; // <---- problem is here
next[key] = rows[i];
break;
}
}
}
はここで念のスクリーンショットです(ライン6を参照してください)
このコードで何が問題になっていますか?
'rows [i - 1]'の型は何ですか? –
多分、V8は 'rows [i - 1]'オブジェクトをその複雑さのためにプリミティブ型に変換しようとするのに苦労しています。オブジェクトのプロトタイプの 'valueOf'メソッドをオーバーライドすると、これが役に立ちます。 –
@loa_in_オブジェクトです – julesbou