@denis2601

Обработка GET запроса, перебор в новый массив?

var str = 'price_min=10&price_max=200&rooms[]=1&rooms[]=2&rooms[]=3';

или
var str = [ "price_min=10", "price_max=200", "rooms[]=1", "rooms[]=2", "rooms[]=3" ];


Я не силен в js, вообще не силен, но нужно перебрать данную строку так что бы получилось так:

var strNew = 'price_min=10&price_max=200&rooms=1,2,3';
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
EreminD
@EreminD
Кое-что умею
//для первого варианта
var arr = str.split('rooms[]=')
var strNew = arr[0] + 'rooms[]=' + [arr[1],arr[2],arr[3]].join(",").replace(/&/g,"")

//для второго варианта
var result = {};
str.forEach(function(item){
	var pair = item.split("=");
	if(!result.hasOwnProperty(pair[0])){
		result[pair[0]] = pair[1]
	}
	else{
		result[pair[0]] += ","+ pair[1]
	}
})
var strNew = ['price_max='+result['price_max'], 'price_min='+result['price_min'], 'rooms='+result['rooms[]']].join("&")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы