Здравствуйте, имеется массив заказов(на картинке вывел + красными цифрами прописал порядок в котором они по идее должны быть). Как мне отсортировать его, следующий элемент должен быть равен предыдущему по
if("Кол. штукосталось осн." > 0){
то берём за поиск id в колонке "id", следующий элемент должен быть равен по
колонкам "id" или "Совмещщеный паспорт", "Ширина", "Материал", "Кол на листе осн." или "Кол на листе сов."
}else {
то берём за поиск id в колонке "Совмещщеный паспорт", следующий элемент должен быть равен по
колонкам "id" или "Совмещщеный паспорт", "Ширина", "Материал", "Кол на листе осн." или "Кол на листе сов."
}
function sortData(data) {
data.forEach((item, index, arr) => {
first = item;
console.log(item['id'] + " "+item['combined_id_passport']+" - "+index)
arr.splice(index, 1);
if(item['id'] == 82 || item['combined_id_passport'] == 82){
data.forEach((item_copy, index_copy,) => {
if(item['width'] == item_copy['width'] && item_copy['flag'] != 1){
console.log(item['id'] + " " + item['combined_id_passport'])
console.log(item_copy['id'] + " " + item_copy['combined_id_passport'])
console.log(" ")
if(item['remaining_quantity'] > 0){
if(item['id'] == item_copy['id'] && item['main_order_quantity_widtht'] == item_copy['main_order_quantity_widtht']
|| item['id'] == item_copy['combined_id_passport'] && item['main_order_quantity_widtht'] == item_copy['combined_order_quantity_widtht']){
console.log("1work")
item_copy['flag'] = 1
arr.splice(index , 0, item_copy);
arr.splice(index_copy+1, 1);
}
}else{
if(item['combined_id_passport'] == item_copy['combined_id_passport'] && item['combined_order_quantity_widtht'] == item_copy['combined_order_quantity_widtht']
|| item['combined_id_passport'] == item_copy['id'] && item['combined_order_quantity_widtht'] == item_copy['main_order_quantity_widtht']){
console.log("2work")
item_copy['flag'] = 1
arr.splice(index , 0, item_copy);
arr.splice(index_copy+1, 1);
}
}
}
});
}
arr.splice(index, 0, first);
});
}
буду рад услышать как можно сделать лучше