在jQuery中按特定顺序对数组进行排序

时间:2017-01-05 05:19:05

标签: javascript

var i="q=brand:GOOD_EARTH,LIPTON:blend:Black,Herbal:varieties:Tea&layoutStatus=grid&show=Page&sort=popular-all";
var x=0;
var s=[], arr=[];
var temp={};
var myarray=["blend", "varieties", "brand"];

s=i.split('q=')[1].split('&')[0].split(':');

console.log(s);

for(x=0;x<s.length;x=x+2){ 
temp[s[x]] = s[x+1];
arr[x]= s[x];
}
console.log(temp); 

//样本值

 temp = {
    blend:"Black,Herbal"
    brand:"GOOD_EARTH,LIPTON"
    varieties:"Tea" }


 s= [0:"brand"
1:"GOOD_EARTH,LIPTON"
2:"blend"
3:"Black,Herbal"
4:"varieties"
5:"Tea"]

arr=[
0:"brand"
2:"blend"
4:"varieties" ]

以上是s和temp的示例值。我需要在指定的“myarray”顺序中对“arr”进行排序。我怎么能这样做,任何人都可以帮助。提前谢谢大家。

1 个答案:

答案 0 :(得分:-1)

您需要通过提供以下值来使用.sort()

blend:      1
varieties:  2
brand:      3

sort回调函数占用两个参数。当前和下一个。您需要将值替换为current和next。但就你目前的例子而言,这是不可能的。或者我可能不清楚我期望实现的目标。

我不回答这个问题。所以,随时修改,评论,meh。