我最近回答了一个问题,提供了以下代码作为答案:
var jobs= [
{"startDate": "5/2017", "endDate": null, "isCurrent": true, "seniority": "Senior",},
{"startDate": "5/2013", "endDate": "5/2019", "isCurrent": false, "seniority": "Junior"}
]
// Answer
const findObject = (obj, prop, value) => obj.filter(obj => obj[prop] === value)
console.log(findObject(jobs, 'seniority', 'Senior'))
我尝试在过滤器中解构对象:
const findObject = (obj, prop, value) => obj.filter(({[prop]}) => prop === value)
但最终出现了这个错误:
是否可以使用变量名(或在这种情况下是参数)来解构一个对象?未捕获的语法错误:意外的标记“}”
[prop]: v
没有简化方式吗?我本来以为对象会将属性分配给自己的值?例如,如果a = 0
,而不是编写obj = { a: a }
,您可以只编写obj = { a }
,我以为会有类似的东西。 - Kobe