На данный вопрос уже ответили:
Есть массив в котором каждый элемент тоже является массивом. Например,
["Текст1", 1, 0, 0, 0]
["Текст1", 0, 0, 2, 0]
["Текст2", 1, 0, 0, 0]
["Текст2", 0, 3, 0, 0]
["Текст3", 0, 0, 2, 0]
Как убрать дубликаты, но при этом объединить данные заменяя нули на другие значения у одинаковых значений "Текст" используя JS или JQuery? Чтобы получился массив:
["Текст1", 1, 0, 2, 0]
["Текст2", 1, 3, 0, 0]
["Текст3", 0, 0, 2, 0]
let arr = [
["Текст1", 1, 0, 0, 0],
["Текст1", 0, 0, 2, 0],
["Текст2", 1, 0, 0, 0],
["Текст2", 0, 3, 0, 0],
["Текст3", 0, 0, 2, 0]
];
let arr2 = [];
let obj = {};
arr.forEach(function(item) {
if (!obj[item[0]]) {
obj[item[0]] = item;
} else {
item.forEach(function(item2, index2) {
if (obj[item[0]][index2] === 0) {
obj[item[0]][index2] = item2;
}
});
}
});
Object.keys(obj).forEach(function(item) {
arr2.push(obj[item]);
});
console.log(arr2);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей