Как получить последний элемент из GetItems ? использование карты javascript

#javascript

Вопрос:

Мне нужно получить последние значения из элементов

Что я пытаюсь :

 val.links.map((link: any) => console.log('link' , link.href))
 

я получил результаты:

    link https://api/v1/3
   link https://api/v1/3/user
   link https://api/v1/3/customer
   link https://api/v1/3/suppliers
 

Что мне нужно
Мне нужно получить последний товар по ссылке

пример для получения: 3, пользователь, заказчик, поставщики

Если вы хотите увидеть все мои данные api, это:

    {
    id: 1,
    links: [
    0: {href: "https://api/3" }
    1: {href: "https://api/user" }
    2: {href: "https://api/customer" }
    3: {href: "https://api/suppliers" }
  ]}
 

Комментарии:

1. links[links.length - 1] работает ли это?

2. пробовать val.links[links.length - 1]

3. Есть много вещей, которые огромное количество людей делают неправильно, например, путают «тогда» и «чем», думают, что картофель фри «французский» — это «французский», или используют map вместо forEach , и я не знаю, почему

Ответ №1:

1) Вы можете использовать сплит и карту здесь

Спасибо Георгу за это предложение

 const result = obj.links.map((o) => o.href.split("/").pop());
 
 const obj = {
  id: 1,
  links: [
    { href: "https://api/3" },
    { href: "https://api/user" },
    { href: "https://api/customer" },
    { href: "https://api/suppliers" },
  ],
};

const result = obj.links.map((o) => {
  const matches = o.href.split("/");
  return matches[matches.length - 1];
});

console.log(result); 

2) Использование регулярных выражений /.*(?=/)/

введите описание изображения здесь

 const obj = {
  id: 1,
  links: [
    { href: "https://api/3" },
    { href: "https://api/user" },
    { href: "https://api/customer" },
    { href: "https://api/suppliers" },
  ],
};

const result = obj.links.map((o) => o.href.replace(/.*(?=/)/, "").slice(1));

console.log(result); 

3) Использование регулярных выражений /.*(?=/)/

 const obj = {
  id: 1,
  links: [
    { href: "https://api/3" },
    { href: "https://api/user" },
    { href: "https://api/customer" },
    { href: "https://api/suppliers" },
  ],
};

const result = obj.links.map((o) => o.href.match(/.*/(.*)/)[1]);

console.log(result); 

Комментарии:

1. или просто .split('/').pop()

2. @yajoj98337 «пример для получения: [‘3’, ‘пользователь’, ‘клиент’, ‘поставщики’]» — Ваш вопрос рассказывает другую историю. Но даже в этом случае вы должны быть в состоянии самостоятельно произвести эту крошечную корректировку…