map遍历如何从第二个元素开始?

假设一个数组如下:
[a,b,c,d,e]

如何用map遍历时只返回 b,c,d,e 不要第一个元素a了


(以下内容与问题本身无关)

首先感谢各位大神和前辈们悉心解答,再次深表感激之情。
可我不太理解这位朋友为何如此怼人,更令人心寒的是还有5个人赞了他。。。
难道我问一个很简单的问题犯了滔天大罪,这是个极为丢人的事么?
还是说我走错了论坛,SF只面向高端人群和高端问题?
为什么...

图片描述

阅读 15.7k
10 个回答
var arr = ['a','b','c','d','e'];
var result = arr.filter((el, index) => {
    return index > 0;
});
console.log(result);
// ["b", "c", "d", "e"]

如果只是要后四位,直接slice

arr.slice(1)

队后四位加个操作

arr.slice(1).map(x => {....})

这都还要来问,你还写什么代码?

提供个思路,你先把数组进行一下shift或者slice等操作,得到你想要输出的数组即可,直接map的话会出现undefined

var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
    arr.map((item, index) = >{
        if (index > 0) return item
})

//[undefined, "b", "c", "d", "e", "f", "g"]

map和foreach都不可以中途停止的,要用都要对数组进行处理,filter是最好的,for in 也行,for循环也可以,

var arr = ['a','b','c','d','e'];  
for(let i in arr){
    if(i==0){
        continue;
    }
    console.log(arr[i]);
}

const [first, ...rest] = ['a', 'b', 'c', 'd', 'e'];
Array.from(rest, item => console.log(item))

let newList = [1,2,3,4,5].filter((val, i) => i > 0).map(val => ···);
let [_,...res] = ['a','b','c','d','e'];
console.log(res);//["b", "c", "d", "e"]

那就用filter。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题