RubyのArray#compactに相当するJavaScriptは何ですか?JavaScriptでの配列の圧縮
ロングバージョン....私はblog.nemikor.comの例を続けました。彼の最後の例では古いリクエストがクローズされていますが、その後はpendings
が古くなったリクエストで満たされ続けています。これは私にメモリリークのように見えます。
私のソリューションは、以下のようfilter
とpendings
を反復することですが、pendings.push
とpendings = pendings.filter
間の競合状態があるかもしれないように、これはそうです。私は妄想していますか?競合状態が存在する場合、どのように修正する必要がありますか?
var pendings = [];
// there is a route
app.get('/some/path', function (request, response) {
pendings.push({
response: response,
requestedAt: new Date().getTime()
});
});
setInterval(function() {
var expiration = new Date().getTime() - (1000 * 30);
pendings = pendings.filter(function (pending, index) {
if (pending.requestedAt > expiration) {
return true;
} else {
pending.response.writeHead(408, { 'Content-Type': 'text/plain' });
pending.response.end('');
}
});
}, 1000);
[コンパクトな動作](http://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript) – Zabba
[フィルタ](https://)のMDC doco必要な場合はdeveloper.mozilla.org/ja/JavaScript/Reference/Global_Objects/Array/filter)を参照してください。 – RobG
タイトルの質問への回答をZabbaのリンクに従ってください... – AShelly