使用Array.filter后如何获取多个值?

时间:2019-05-01 14:27:55

标签: javascript arrays filter

我已经成功过滤了数组,以便显示的唯一对象是Course中包含字符串“ eastern”的对象。

// 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');

现在唯一的问题是,如果我想通过使用console.log(findVal.Score)仅将Score值与该对象隔离,它将返回undefined。我希望它会从过滤后的数组中的每个对象返回每个Score值,但是不会。

我该如何克服呢?

1 个答案:

答案 0 :(得分:1)

由于findVal是一个数组,因此您应该结合使用map方法和 destructuring 方法,以获取每个项目的Score属性来自数组。

findVal = dataSet
           .filter(findVal => findVal.Course === 'eastern')
           .map(({Score}) => Score);