javascript - 选择数组中的项目 - Javascript - 使用Filter方法

  显示原文与译文双语对照的内容
142 1

有人今天问了一个问题,想要从数组从i 到数组的末尾中选择某些元素, 这让我想知道如何用 filter 方法做到这一点 。

有人提供的解决方案之一就是使用 slice, 我明白你能够从索引到索引进行选择, 但你如何实现 filter 方法来做同样的事情呢

例子

let arr = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'];
let newArr = arr.filter(element => element> = element.indexOf(3));
console.log(newArr);

这是我提出的,它不起作用,但想法是选择索引为3或更大的所有字符串并将它们返回到另一个数组。

时间:原作者:0个回答

85 3

运行时将索引传递给筛选回调:

let newArr = arr.filter((element, index) => index> = 3);

性能方面你仍然在制作一个新数组并复制值因此它与 .slice() 大致相同 。

原作者:
105 3

应使用过滤条件创建函数:

let arr = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'];
function filterCriteria(item) {
 return item> = someValue;
}
function someFunction() {
 return arr.filter(filterCriteria);
}

"someFunction"将返回筛选后的数组

原作者:
138 1

过滤器回调中的第二个参数是索引。这样你就可以做这样的事情

( arr.filter((element,index) => 索引> = 3 ) ;

原作者:
150 5

在访问每个项目时,你可以使用计数器并减少它,直到计数器达到零。然后取这个值。

const
 fromIndex = i => _ =>!i ||!i--,
 array = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'],
 result = array.filter(fromIndex(3));
console.log(result);
原作者:
...