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 回答