繁体   English   中英

通过比较不同键下的值来过滤 object 键

[英]Filter object key by on comparing values under different keys

我想过滤结果,以便当我将 Score 下的值与对抗下的值进行比较时,我会返回获胜的团队

以此为例

const newData = [
    {"Year": 1,
    "Score": 3,
    "Against": 5,
    "GameID": 2,
    "Team": 'A' },
    {"Year": 1,
    "Score": 5,
    "Against": 3,
    "GameID": 2,
    "Team": 'B' }
]

我想要的 output 将是['B']

这是我尝试过的

const newArr = newData.filter(element => element.Score > element.Against)
console.log(newArr.Team)

这将返回undefined

newArr是一个数组,属性Team与它无关,但与它的元素有关。 您可以使用map将对象数组转换为团队名称数组:

 const newData = [{"Year": 1,"Score": 3,"Against": 5,"GameID": 2,"Team": 'A'},{"Year": 1,"Score": 5,"Against": 3,"GameID": 2,"Team": 'B'}] const newArr = newData.filter(element => element.Score > element.Against).map(element => element.Team); console.log(newArr)

你得到这个结果:

在此处输入图像描述

您可以通过访问newArr[0].Team来完成

const newData = [
    {"Year": 1,
    "Score": 3,
    "Against": 5,
    "GameID": 2,
    "Team": 'A' },
    {"Year": 1,
    "Score": 5,
    "Against": 3,
    "GameID": 2,
    "Team": 'B' }
]
const newArr = newData.filter(element => element.Score > element.Against)
console.log(newArr[0].Team)

它会打印B

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM