2017-01-05 3 views
-4
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); 

// значение выборкиСортировка массива в определенном порядке в JQuery

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 и темп. Мне нужно отсортировать «arr» в указанном «myarray» порядке. Как я могу это сделать, кто-нибудь может помочь. Спасибо всем заранее.

+2

В этот момент, когда мы спрашивали, что испробовал оригинальный плакат ... – cwallenpoole

+2

Вы не можете сортировать объект. Если вам нужен заказ, вам нужен массив. –

+0

Извините, я не могу вас достать. можете ли вы кратко сообщить – Mahi

ответ

-1

Вы должны использовать .sort() давая некоторые следующие значения:

blend:  1 
varieties: 2 
brand:  3 

Функция sort обратного вызова принимает два аргумента. Текущий и следующий. Вам нужно заменить значение на текущее и следующее. Но с вашим текущим примером это невозможно. Или, может быть, я не понимаю, чего я ожидаю.

Я не отвечаю на это как на ответ. Поэтому, не стесняйтесь изменять, комментировать, meh.

+0

Теперь я сохранил значения в arr 'for (x = 0; x Mahi

+0

@Mahi То, что вы дали, не является боссом массива. –

+0

Не могли бы вы рассказать мне, как сортировать массив в определенном указанном порядке. – Mahi

Смежные вопросы