Подскажите алгоритм. Есть массив из 10 элементов. И есть второй массив из n элементов. Нужно каждый раз когда приходит второй массив, заполнять первый и добавлять элементы вначало первого. Пришло 5 новых элементов, добавляем вначало и получаем 5 заполненных и 5 пустых в первом массиве. Доабвлять нужно до тех пор пока не станет 10 элементов в первом.
Проще всего использовать функцию unshift для добавления элемента в начало массива и "обрезать" массив через slice.
unshift и slicelet teamsArray = ['a', 'b', 'c', 'd', 'e']
let teamsArrayNew = [1, 2, 3, 4, 5, 6, 7]
function updateArray(entryArray, newArray) {
newArray = newArray.reverse();
newArray.forEach(function(element) {
entryArray.unshift(element);
if (newArray.length <= 10) {
entryArray = entryArray.slice(0, 10);
} else {
entryArray = entryArray.slice(0, newArray.length);
}
});
return entryArray;
}
teamsArray = updateArray(teamsArray, teamsArrayNew);
console.log(teamsArray);
Функция reverse использовалась, потому что forEach делает обход с конца массива.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости