Как получить несколько значений после использования Array.filter? - PullRequest
1 голос
/ 01 мая 2019

Я успешно отфильтровал свой массив так, что отображаются только те объекты, которые содержат строку 'Eastern' в Course.

// Empty array + object that is pushed onto array following Btn click

var dataSet = [];

dataObj = {Course: courseSelect.value, Score: scoreText.value, Pars: parsText.value, Birdies: birdiesText.value};

dataSet.push(dataObj);

// Filter

findVal = dataSet.filter(findVal => findVal.Course === 'eastern');

Единственная проблема в том, что теперь, если я хочу изолировать только значение Score от этого объекта с помощью console.log(findVal.Score), он возвращает undefined. Я ожидаю, что он будет возвращать каждое значение Score каждого объекта в отфильтрованном массиве, но это не так.

Как мне преодолеть это?

1 Ответ

1 голос
/ 01 мая 2019

Поскольку findVal это массив, вы должны использовать метод map в сочетании с подходом destruuring , чтобы получить свойство Score для каждого элемента из массива.

findVal = dataSet
           .filter(findVal => findVal.Course === 'eastern')
           .map(({Score}) => Score);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...