选择数组中的项目-Javascript-使用筛选器方法

今天有人问一个问题,要弄清楚从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或更大的所有字符串,然后将它们返回到另一个数组中。


qq_笑_17
浏览 133回答 2
2回答

达令说

运行时将索引传递给过滤器回调:let newArr = arr.filter((element, index) => index >= 3);在性能方面,您仍在制作一个新数组并复制值,因此它与大致相同.slice()。

一只斗牛犬

当您访问每个项目时,可以使用一个计数器并将其递减直到计数器达到零。然后取这个值。const    fromIndex = i => _ => !i || !i--,    array = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'],    result = array.filter(fromIndex(3));console.log(result);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript