按字符串排序数组

时间:2012-04-09 02:46:23

标签: javascript jquery arrays sorting

现在,我有一个流列表,我想将带有“online”字符串的流推送到数组的前面,但我想快速地执行此操作。我知道我可以按值复制数组值并将在线值推到前面,但我想知道是否有更好的方法来执行此操作。

这只是一些示例代码,但它类似于我的目标。我怎样才能重新安排我的阵列向前推进?我对JavaScript或jQuery答案持开放态度。

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

3 个答案:

答案 0 :(得分:11)

streams.sort()

会给你["offline", "offline", "offline", "offline", "online", "online", "online", "online"]

因为f在off和online之前出现

您可以使用.reverse()来反转元素的顺序。

streams.sort().reverse()

应该是您正在寻找的,您不需要重新分配数组(即执行streams = streams.sort().reverse()),因为它在数组内部执行操作。

答案 1 :(得分:3)

使用内置数组函数:

streams.sort().reverse();

这很容易......

MDN文档:

答案 2 :(得分:2)

streams.sort();

否则你可能只想循环遍历数组。