亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從包含特定值的多維對象數組返回數組對象

從包含特定值的多維對象數組返回數組對象

元芳怎么了 2021-06-28 09:14:09
我正在嘗試創建一個函數,它的作用類似于搜索機制,它遍歷對象數組并返回一個特定的數組對象,該對象包含該數組中的特定值(搜索參數)var jobs= [  {    "startDate": "5/2017",    "endDate": null,    "isCurrent": true,    "seniority": "Senior",  },  {    "startDate": "5/2013",    "endDate": "5/2019",    "isCurrent": false,    "seniority": "Junior",  },]我想創建一個函數,您可以在其中提供數組、數組鍵和數組值,即nameOfFunction(jobs,"seniority","Senior")它返回/記錄{"startDate": "5/2017","endDate": null,"isCurrent": true,"seniority": "Senior",},
查看完整描述

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);


查看完整回答
反對 回復 2021-07-01
?
慕田峪4524236

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'))


查看完整回答
反對 回復 2021-07-01
?
白板的微信

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"));


查看完整回答
反對 回復 2021-07-01
  • 3 回答
  • 0 關注
  • 252 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號