function createIntervals(data) {
data.sort((a, b) => a - b);
let current, result = [];
for (let n of data) {
console.log(result);
if (current && n === current[1] + 1) {
current[1] = n;
} else {
current = [n, n];
result.push(current);
}
}
console.log(result); // output [ [ 1, 5 ], [ 7, 8 ], [ 12, 12 ] ]
}
createIntervals([1, 2, 3, 4, 5, 7, 8, 12]);
почему меняется значение массива result после того как мы запушили в него массив Current, мы ведь изменяем только current и пушим в result это ведь не указатели
массив result на каждой итераций
[]
[ [ 1, 1 ] ]
[ [ 1, 2 ] ]
[ [ 1, 3 ] ]
[ [ 1, 4 ] ]
[ [ 1, 5 ] ]
[ [ 1, 5 ], [ 7, 7 ] ]
[ [ 1, 5 ], [ 7, 8 ] ]
[ [ 1, 5 ], [ 7, 8 ], [ 12, 12 ] ]
Объясните пожалуйста шаг за шагом