当使用slice调用函数时,javascript获取指定数量的数组



假设我在一个数组中有15个对象。我在浏览器上只显示了其中的5个。

const array1 = Array.slice(0,4)

此外,我有一个函数,当用户向下滚动时会调用它。我想在每个卷轴上再展示5个。

array1.concat(Array.slice(5,9))

但是,阵列中仍保留有其他对象。Array.slice(10, ~)

我怎么能重复这个?

我正在使用React和React无限滚动组件

这个例子可能有助于你理解我的问题。唯一的区别是这个例子从0创建数组,而我在一个数组中已经有15个对象了。

您可以跟踪使用变量的位置,例如以开头

let start = 0;

然后,当你想显示下五个:

if (start < originalArray.length) {
let end = Math.min(start + 5, originalArray.length) {
if (end > start) {
array1  = array1.concat(originalArray.slice(start, end));
// Presumably a `setState` call here using `array1`
start = end;
}
}
}

最新更新