Привет, извиняюсь за небольшой говнокодец!
Не могу понять, почему код ниже возвращает "a,b2,a,b2,aa,b", вместо "a,b1,a,b2,aa,b"? Если смотреть под отладчиком, сначала в new_array[0] записывается ["a","b1"], а потом, почему-то перезаписывается на значение, которое идёт следующим в цикле forEach.
function splitMultipleRooms(array, j, char) {
var new_array=[];
for (var i=0; i<array.length; i++) {
var row = array[i];
row[j].split(char).forEach(function(el) {
var new_row = row;
new_row[j] = el;
new_array.push(new_row);
});
};
return new_array;
};
var array = [['a','b1;b2'], ['aa', 'b']];
var test1 = splitMultipleRooms(array, 1, ';');
alert(test1)
А цель проста: во втором столбце попадаются значения, разделённые знаком ";". Надо делать split по этому символу, а все остальные элементы в строке дублировать.