3 回答
TA貢獻1784條經驗 獲得超8個贊
數組的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貢獻1875條經驗 獲得超5個贊
您可以使用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貢獻1883條經驗 獲得超3個贊
您可以filter在傳入的數組上使用該方法。在這里,我也用解構賦值來獲取值(v從通過當前對象的)key。然后我將對象 ( v)的值與val傳遞給函數的值進行比較,以查看它是否應該保留在新數組中。
請參閱下面的示例:
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"));
添加回答
舉報
