慕哥9229398
2023-05-11 16:17:44
我有以下 Javascript 對象。var data = { "type": [ "car", "bike" ], "wheels": [ "4", "2" ], "open": [ "Jan", "Jan" ], "wheel_press": [ "35", "19" ], "max-weight": [ "4000", "8" ], "transition_plan": [ "", null ], "number_of_occurence": [ 5696, 976 ], "model": [ "sedan", "street"}我想過濾任何對象鍵以僅獲取該鍵的相應值。到目前為止,在搜索 stackoverflow 后仍然無法找到類似的問題。我試過使用data.filter(type ==='car')我得到的錯誤是.filter is not a function預期的輸出是如果我過濾 type === 'car' 那么它應該只顯示{ "type": [ "car" ], "wheels": [ "4" ], "open": [ "Jan" ], "wheel_press": [ "35" ], "max-weight": [ "4000" ], "transition_plan": [ "" ], "number_of_occurence": [ 5696 ], "model": [ "sedan"}
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
您可以編寫一個函數來查找給定屬性內的值的索引,然后使用Object.fromEntries(),Object.keys()并Array.map()創建一個新對象,如下所示
var data={type:["car","bike"],wheels:["4","2"],open:["Jan","Jan"],wheel_press:["35","19"],"max-weight":["4000","8"],transition_plan:["",null],number_of_occurence:[5696,976],model:["sedan","street"]};
const getFilteredObject = (property, value) => {
const index = data[property].indexOf(value)
return Object.fromEntries(Object.keys(data).map(key => ([key, data[key][index]])))
}
const filteredObject = getFilteredObject('type','car');
console.log(filteredObject)
添加回答
舉報
0/150
提交
取消