[英]Filter Object in ES6 to form another Object
我有一個像下面的對象數組,我試圖只映射某些鍵及其值,以形成另一個數組對象。
以下是我對單個對象的嘗試
const object1 = { app_id:35687,codesmell: 30, baz: 42 };
console.log(Object.entries(object1).map(x => {app_id:x.app_id}));
我總是得到未定義,一直在搜索mdn和stackoverflow無法找到解決方案。 請幫忙。
我試過的另一次嘗試,這次是數組,其中result
是一個對象數組
T_BugDetails: result.data.map(x => Object.entries(x).reduce((a,b) => { a, b},{}))
一些問題:
Object.entries
返回一個數組數組 (鍵的數組和對象的值)。 如果您.map
的entries
的對象,第一個參數.map
應該是關鍵和價值 ,像這樣的數組 :
Object.entries(object1).map(([key, val]) => ...
要從箭頭函數返回一個對象,請將對象的括號( {
和}
)括在括號中,否則它將被解釋為內部帶有標簽的普通函數塊 ,而不是隱式返回的對象:
=> {app_id:x.app_id}
至
=> ({app_id:x.app_id})
app_id
組成的對象,不要迭代原始對象的entries
,因為你只想要一個屬性,而不是它的所有屬性 - 而只是提取原始對象的app_id
賓語: const object1 = { app_id:35687,codesmell: 30, baz: 42 }; const { app_id } = object1; console.log( { app_id } );
只有在需要轉換的對象數組時才使用.map
,例如:
const objects = [ { app_id:35687,codesmell: 30, baz: 42 }, { app_id:12345,codesmell: 20, baz: 52 } ]; console.log( objects.map(({ app_id }) => ({ app_id })) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.