vS
[[1,3], [2,6], [8,10], [15,18]]
нужно написать функцию, которая будет возвращать результат их соединения, если такое возможно.
в итоге функция должна вернуть такой массив
[[1,6], [8,10], [15,18]]
Size: a a a
vS
M
M
vS
vS
vS
vS
F
let arr = [[1,3], [2,6], [8,10], [15,18]]
for(let i = 1; i < arr.length; i++) {
let prev = arr[i - 1], cur = arr[i]
if(prev[1] >= cur[0]) {
arr.splice(--i, 2, [ prev[0], cur[1] ])
}
}
console.log(arr)
EP
const arr = [
[1, 3],
[2, 6],
[8, 10],
[15, 18]
];
const result = arr.reduce((acc, v) => {
if (acc.length === 0) return [v];
const [start, end] = v;
const [prevStart, prevEnd] = acc[acc.length - 1];
if (prevEnd >= start) {
acc[acc.length - 1][1] = end;
} else {
acc.push(v);
}
return acc;
}, []);
console.log(result);
vS
M
M
0
EP
"use strict";
const arr = [[1, 3], [2, 6], [8, 10], [15, 18]];
const result = arr.reduce((acc, v) => {
if (acc.length === 0)
return [v];
const [start, end] = v;
const [prevStart, prevEnd] = acc[acc.length - 1];
if (prevStart > start)
acc[acc.length - 1][0] = start;
if (prevEnd >= start) {
acc[acc.length - 1][1] = end;
}
else {
acc.push(v);
}
return acc;
}, []);
console.log(result);
M
M
M
M
M
EP