У меня есть функция, которая выводит такой результат:
(9) [1, "...", 9, 10, 11, 12, 13, "...", 19]
Но мне нужен такой вывод (просто удалите запятые и скобки)
1 "..." 9 10 11 12 13 "..." 19
Что я хочу сделать, так это преобразовать этот первый массив в элементы, подобные второму примеру, потому что мне нужно использовать его с ручками, и я не могу найти способ, как это сделать. Но я хочу сохранить формат этого сначала, просто нужно удалить этот массив.
{{#each pageArray}}
<li class = "paginator-item">
<a href = "{{this}}" class = "paginator-itemLink">{{this}}</a>
</li>
{{/each}}
Функция:
<script>
function pagination(currentPage, nrOfPages) {
var delta = 2,
range = [],
rangeWithDots = [],
l;
range.push(1);
if (nrOfPages <= 1) {
return range;
}
for (let i = currentPage - delta; i <= currentPage + delta; i++) {
if (i < nrOfPages && i > 1) {
range.push(i);
}
}
range.push(nrOfPages);
for (let i of range) {
if (l) {
if (i - l === 2) {
rangeWithDots.push(l + 1);
} else if (i - l !== 1) {
rangeWithDots.push('...');
}
}
rangeWithDots.push(i);
l = i;
}
return rangeWithDots;
}
pageArray = pagination({{ current }}, {{ pages }});
console.info(pageArray);
</script>
Значит, на каждые 8 пунктов ставится многоточие? Непонимание проблемы
Хорошо, что руль работает только со вторым примером, а не с первым, мне нужно преобразовать этот первый пример, чтобы он выглядел как второй, чтобы руль мог его принять. Просто отредактирую ответ на то, что хочу
@CertainPerformance, я не могу это разбить на страницы, и мне тоже нужны эти точки.
Лучше всего опубликовать ожидаемый результат настоящий при первой публикации вопроса, иначе будет путаница и бесполезные комментарии / ответы :)
@CertainPerformance Я чувствую себя потерянным в javascript, но просто хочу удалить запятые и скобки из первого вывода, вот и все. Этот вывод, который я сделал как второй пример, - это именно то, что я хочу увидеть.
Я думаю, вы ищете .join(" ") в массиве ... но неясно, что именно вы хотите, прочитав свой вопрос
Метод .join() превращает массив в строку, объединяя все элементы. Что бы вы ни пропустили, оно станет разделителем между каждым элементом. Т.е. [1,2,3,4,5].join(" then ") вернет 1 then 2 then 3 ...
Вау, присоединяйся ("") действительно сделал то, что мне нужно. Спасибо, ребята, за ваши усилия. И простите за непонятный вопрос. :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Взгляните сюда. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
Просто замените последнюю функцию на эту.
pageArray = pagination({{ current }}, {{ pages }}).join(" ");
Просто возьмем последний элемент
elmи создадим массив от1доelm?