4

現在、ストリームのリストがあり、文字列「online」のストリームを配列の先頭にプッシュしたいのですが、これを非常に迅速に実行したいと思います。配列の値を値ごとに複製してオンライン値を前面にプッシュできることはわかっていますが、これを行うためのより良い方法があるかどうか疑問に思いました。

これはほんの一部のサンプルコードですが、私が行っているものと似ています。アレイを再配置してオンラインで前面にプッシュするにはどうすればよいですか?私はJavaScriptまたはjQueryの回答を受け入れています。

var streams = new Array('online', 'offline', 'online', 'offline', 'online', 'offline', 'offline', 'online');
4

3 に答える 3

11
streams.sort()

あなたに与えるだろう["offline", "offline", "offline", "offline", "online", "online", "online", "online"]

fはオフとオンラインでnの前に来るので

.reverse()要素の順序を逆にするために使用できます。

streams.sort().reverse()

探しているものである必要がありstreams = streams.sort().reverse()ます。配列の内部で操作を行うため、配列を再割り当てする(つまり実行する)必要はありません。

于 2012-04-09T02:47:58.453 に答える
3

組み込みの配列関数を使用します。

streams.sort().reverse();

それは簡単でした...

MDNドキュメント:

于 2012-04-09T02:48:54.803 に答える
2
streams.sort();

それ以外の場合は、おそらく配列をループするだけです。

于 2012-04-09T02:48:27.020 に答える