gpt4 book ai didi

Javascript 推送数组高级

转载 作者:行者123 更新时间:2023-11-28 17:14:59 26 4
gpt4 key购买 nike

我有一个输出数组的简单分页函数。

exports.pagination = function(currentPage, nrOfPages) {
var delta = 1,
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;
}

Handlebars :

{{#each pagination}}
<li class="paginator-item">
<a href="{{this}}" class="paginator-itemLink">{{this}}</a>
</li>
{{/each}}

输出:

1 ... 7 8 9 ... 19

效果很好。但我想做的是将“number”和“href”分开所以我可以使用

{{#each pagination}}
<li class="paginator-item">
<a href="{{this.href}}" class="paginator-itemLink">{{this.number}}</a>
</li>
{{/each}}

但不知道我该怎么做,但做不到。找不到正确的方法。rangeWithDots.push(number:'...',href:'')。尝试了很多方法,但找不到正确的方法

最佳答案

您可以将其作为包含多个属性的对象进行推送。

因此,您可以通过访问对象和相应的属性来读取数组。

我希望这能解决这个问题。

var rangeWithDots = []

rangeWithDots.push({href: "/sample", number: 5})

console.log(rangeWithDots)

//you can access the number by
console.log("number", rangeWithDots[0].number)

关于Javascript 推送数组高级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53693743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com