const obj = {
inHistory: [1,6,8,10],
inBook:[7,8,9,10,12]};
function _intersection(src) {
let inHistory = []; //массив для колонки1
let inBook = [];//массив для колонки2
let inHistoryOrig = [...src.inHistory];
let inBookOrig = [...src.inBook];
const crossing = intersection(inHistoryOrig,inBookOrig); //массив пересекающихся объектов
for(let i = 0; i < crossing.length; i++){
let index1 = findIndex(inHistoryOrig, function(el){return el === crossing[i];}); //индекс элементов из пересеченного массива [2] , [3]
let _take = take(inHistoryOrig, index1); //массив элементов до пересеченных [1,6] , [1,6,8]
inHistoryOrig = drop(inHistoryOrig, index1); //выкидываем из начального массива элементы [1,6]; [1,6,8]
inHistory.push(_take); //добавляет в массив inHistory элементы, в inHistory [[1,6]]; [[ 1, 6], [1, 6, 8]]
let index2 = findIndex(inBookOrig, function(el){return el === crossing[i];});
let _take2 = take(inBookOrig, index2);
inBookOrig = drop(inBookOrig,index2);
inBook.push(_take2);
}
inHistory.push(inHistoryOrig);
inBook.push(inBookOrig);
return {
inHistory: inHistory,
inBook: inBook,
};
}
console.log(_intersection(obj));
//{ inHistory: [ [ 1, 6 ], [ 8 ], [ 10 ] ],
// inBook: [ [ 7 ], [ 8, 9 ], [ 10, 12 ] ] }