3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
數(shù)組的filter方法就是這樣做的,但如果你想包裝它,你可以做這樣的事情......
var jobs= [
{
"startDate": "5/2017",
"endDate": null,
"isCurrent": true,
"seniority": "Senior",
},
{
"startDate": "5/2013",
"endDate": "5/2019",
"isCurrent": false,
"seniority": "Junior",
},
]
const nameOfFunction = (ar, key, val) => ar.filter(obj=>obj[key]===val);
var results = nameOfFunction(jobs,"seniority","Senior")
console.log(results);

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用filter:
var jobs= [
{
"startDate": "5/2017",
"endDate": null,
"isCurrent": true,
"seniority": "Senior",
},
{
"startDate": "5/2013",
"endDate": "5/2019",
"isCurrent": false,
"seniority": "Junior",
},
]
const findObject = (obj, prop, value) => obj.filter(obj => obj[prop] === value)
console.log(findObject(jobs, 'seniority', 'Senior'))
編輯:
var jobs= [
{
"startDate": "5/2017",
"endDate": null,
"isCurrent": true,
"seniority": "Senior",
},
{
"startDate": "5/2013",
"endDate": "5/2019",
"isCurrent": false,
"seniority": "Junior",
},
]
const findObject = (obj, prop, value, key) => obj.filter(obj => obj[prop] === value).map(obj => obj[key])
console.log(findObject(jobs, 'seniority', 'Senior', 'startDate'))

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以filter
在傳入的數(shù)組上使用該方法。在這里,我也用解構(gòu)賦值來獲取值(v
從通過當(dāng)前對(duì)象的)key
。然后我將對(duì)象 ( v
)的值與val
傳遞給函數(shù)的值進(jìn)行比較,以查看它是否應(yīng)該保留在新數(shù)組中。
請(qǐng)參閱下面的示例:
const jobs= [
{
"startDate": "5/2017",
"endDate": null,
"isCurrent": true,
"seniority": "Senior",
},
{
"startDate": "5/2013",
"endDate": "5/2019",
"isCurrent": false,
"seniority": "Junior",
},
];
const filterArr = (arr, key, val) =>
arr.filter(({[key]:v}) => v===val);
console.log(filterArr(jobs, "seniority", "Senior"));
添加回答
舉報(bào)