私のアプリケーションでは、非常に大きな配列(arround 60kレコード)があります。 for
ループを使用して、以下に示すようにいくつかの操作を行っています。私はこのループを実行すると、Firefoxで&が、ショーはこのページのスクリプトがビジー状態である可能性があり」と言って、ポップアップ、またはそれが応答を停止している可能性がある非常に大きいようjavascriptで大きな配列を扱う方法
var allPoints = [];
for (var i = 0, cLength = this._clusterData.length; i < cLength; i+=1) {
if (allPoints.indexOf(this._clusterData[i].attributes.PropertyAddress) == -1) {
allPoints.push(this._clusterData[i].attributes.PropertyAddress);
this._DistClusterData.push(this._clusterData[i])
}
}
ブラウザがハングアップします。これで、スクリプトを停止することができますスクリプトが完了するかどうかを確認することができます。ブラウザがハングしないようにするにはどうすればよいですか?
このループを実行した後の目標は何ですか? –
ページ番号などを追加してデータ量を減らすことはできますか?すべてのデータを処理しようとしているためブラウザがハングし、すべての操作が終了するまで待機します。私は、これをより速くするためにページネーションを追加するか、データの正規化を行うことをお勧めします。 –
それは間違ったアプローチです、あなたのブラウザは間違いなくクラッシュします。 2つまたは3つの異なるタスクでタスクを分割しようとすることができます。あなたの問題を解決するかもしれない –