javascriptnode.jsarraystypescript

How to push all ids to an array except first id?


How to push all response' ids except first id ? I mean below code pushes all ids to idList array. I want to push all ids again but except first id should not be pushed.How to edit below code ?

const getAllId = async () => {
  let res = await axios({
    method: "get",
    url: "/v1/feed",
  });
  const idList = [];
  res.feed.forEach((item) => {
    idList.push(item.id);
  });
  return idList;
};

Solution

  • Use .map to transform an array to an array, and .slice() to skip the first item in res.feed.

    const res = await axios({
      method: "get",
      url: "/v1/feed",
    });
    return res.feed.slice(1).map(item => item.id);
    

    If you really want to use forEach and not slice the feed, use the index parameter it passes to the callback:

    const idList = [];
    res.feed.forEach((item, index) => {
      if(index > 0) idList.push(item.id);
    });
    return idList;