Я работаю внутри $ .each и хочу заполнить массив переменными из каждого элемента
Размер и цвет определяются полями, выбранными из поля выбора со значением, равным L-черный (большой и черный)
var options = [];
var sizes = [];
$(this).find('option').each( function(){
var value = $(this).text().split('-');
var size = value[0].replace("Size ", "");
var color = value[1];
if ($.inArray(size, sizes) == -1) {
sizes.push(size);
}
options.push({s:size, c:color});
});
var po = [];
$.each(options, function(i,v){
var index = $.inArray(v.s, sizes);
if (po[index] instanceof Array) {
po[index].push({colors:[v.c]});
}else{
po[index] = [];
po[index].push({size:v.s, colors:[v.c]});
}
});
console.log(po);
это работает, оно выплевывает
Array[2]
0: Object
colors: Array[1]
0: "Black"
size: "L"
1: Object
colors: Array[1]
0: "White"
Я бы хотел выплюнуть что-то вроде
Array[2]
0: "L"
colors: Array[2]
0: "Black"
1: "White"
1: "M"
colors: Array[2]
0: "Black"
2: "White"
1: "Blue"
Так что я мог бы взять это и сделать $. Каждый и учесть «Large: Black, White»
Я в тупике, работаю над этим пару часов и не могу обернуть голову, любая помощь будет признательна