我正在尝试在数组上进行forEach
循环,但只有最后几个条目。
我知道如何在for循环中执行此操作,看起来有点像这样:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
/* This will loop over the last 3 entries */
for(var x = arr.length; x >= 7; x--){
console.log(arr[x]);
}
在forEach
循环中是否有任何方法可以获得相同的结果?
答案 0 :(得分:2)
您可以使用slice()
和reverse()
方法,然后forEach()
循环播放新阵列。
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
arr.slice(-3).reverse().forEach(e => console.log(e))
答案 1 :(得分:0)
这是你用forEach循环的方法:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
arr.forEach((element, index) => {
if(index>7) console.log(arr[index]);
})
答案 2 :(得分:0)
您可以采用经典方法,计算最后一个元素的数量,并将其用作计数器和索引的偏移量。
然后通过递减和检查计数器来循环while
。
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
last = 3,
offset = array.length - last;
while (last--) {
console.log(array[last + offset]);
}