RxJs Можно ли решить такую проблему со сводной таблицей?
Я новичок в RxJs. Возможно ли решить этот тип проблемы сводной таблицы.
Предположим, у меня есть поток с любым количеством элементов.
Каждый элемент представляет собой число от 0 до 999.
Я хочу сделать из этого потока таблицу. Таблица с 10 столбцами.
- Номер столбца для элемента равен номеру элемента, разделенному на 10. Таким образом, номер 654 перейдет в столбец 6.
Поскольку у нас есть случайное количество элементов и поскольку числа поступают в случайном порядке, столбцы будут иметь разную высоту.
Как я могу работать с потоком, чтобы генерировать строки таблицы одну за другой для отображения таблицы?
Обновить
С помощью решения Fan Cheung (описанного ниже) было легко создавать столбцы с RxJ. Но можно ли впоследствии сгенерировать строки (массив строк) с помощью RxJs, чтобы иметь возможность отображать таблицу, как показано ниже?
Колонны имеют разную высоту.
1 ответ
Больше похоже на вопрос о массиве
items.reduce((acc,curr)=>{
const key=Math.floor(curr/10);
if(!acc[key])
acc[key]=[]
acc[key].push(curr)
return acc
},[])
Затем вы должны получить массив (столбцы) массивов (строк)
если у вас есть элементы из потока, просто перейдите на pipe()
items.pipe(reduce((acc,curr)=>{
const key=Math.floor(curr/10);
if(!acc[key])
acc[key]=[]
acc[key].push(curr)
return acc
},[]))