我已经有一个排序数组(最多可以包含1,000个项目),我只想获取以指定字符开头的项目块并将它们移到顶部.
// Before sort
{ "alpha", "beta", "delta", "delta frequency", "gamma", "theta" }
// After sort with "d" as the specified letter
{ "delta", "delta frequency", "alpha", "beta", "gamma", "theta" }
我对JavaScript不够熟悉,因此不知道执行此操作的好方法.我的第一个想法是遍历每一项,并查看指定起始字符的索引是否为“ 0”,以找到第一个和最后一个数组索引,并将该范围移到数组的顶部,但这似乎可能是浪费.有没有更好的办法?
解决方法:
var array = [ "alpha", "beta", "delta", "delta frequency", "gamma", "theta" ];
var startingWithD = array.filter(function(s) {
return s[0] == "d";
});
var others = array.filter(function(s) {
return s[0] != "d";
});
array = startingWithD.concat(others);