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

标签 javascript arrays filter

我已经成功地过滤了我的数组,因此显示的唯一对象是在 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');

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

我该如何克服这个问题?

最佳答案

因为 findVal 它是一个数组,你应该使用 map 方法结合 destructuring 方法来获得 Score 数组中每个项目的属性。

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

关于javascript - 使用Array.filter后如何获取多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55937830/

相关文章:

.net - DataGridView 过滤器忽略单元格、单词上的变音符号(重音)

jquery - css nth-child(2n+1) 过滤掉列表项后重绘css

javascript - 在 Angular2 中使用可观察的与其他组件的对话,不接收即将到来的值

javascript - 如何制作一个可以使用 Raphaël 写字的简单编辑器

PHP、MySQL、搜索查询中 HTML 表单的数组?

python - 绘制已使用 griddata 网格化的屏蔽数组

javascript - 如何更改圆环图中文本的颜色

javascript - 在 Angular 指令中附加 D3 元素

python - NumPy / python : Efficient matrix as multiplication of cartesian product of input matrix

python - 连续时间输入函数的低通滤波器(在python中)的实现