Wyciągnięcie liczb z listy

0

Witam,

Mam listę zawierającą kolejne listy. Każda z nich składa się z tekstu i liczby.

const numbers = []
const items = [['Item1', 10], ['Item2', 5], ['Item3', 7]]

Muszę zrobić listę numbers z wszystkich liczb zawierających się w items. Chciałem zrobić items.forEach() + if + numbers.push() ale items zawiera kolejne listy i nie wiem jak to zrobić.

3

Jak masz tablice tablic albo tablicę obiektów to najlepiej sobie przejść po tablicy i "zdestrukturyzować" dane.
ewentualnie jako, że każdy item to tablica to numer możesz wyciągnąć poprzez item[1].

items.forEach(item => {
  const [_, number] = item;
  numbers.push(number);
});
3
const numbers = [];
items.forEach(item => numbers.push(item[1]));

albo

const items = [['Item1', 10], ['Item2', 5], ['Item3', 7]]
const numbers = items.map(item => item[1]);

albo

const items = [['Item1', 10], ['Item2', 5], ['Item3', 7]];
const numbers = [];

for (const [name, value] of items) {
  numbers.push(value);
}
0

Dzięki za odpowiedzi. Znalazłem jeszcze jeden sposób:

 const numbers = items.flat().filter(element => typeof element === 'number');
1

Tutaj jeszcze rozwiązanie, które ignoruje duplikaty:

const items = [['Item1', 10], ['Item2', 5], ['Item3', 7], ['Item4', 10], ['Item5', 11]];
const result = Array.from(new Set(items.map(item => item[1]))); 

czyli result będzie równe [ 10, 5, 7, 11 ] zamiast [ 10, 5, 7, 10, 11 ]

1 użytkowników online, w tym zalogowanych: 0, gości: 1