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

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

根據值過濾嵌套對象屬性

根據值過濾嵌套對象屬性

三國紛爭 2022-07-01 15:47:22
考慮以下數據:const state = {  tasks: {    'ID1': {      name: "Go to shop",      completed: false,    },    'ID2': {      name: "Get bananas",      completed: true,    },    'ID3': {      name: "Get apples",      completed: false,    }  }}要僅檢索已completed設置為true以下代碼的任務,可以使用:function getCompletedTasks(state) {  let tasks = {}  Object.keys(state.tasks).forEach((key) => {    let task = state.tasks[key]    if (task.completed) tasks[key] = task  })  return tasks}我想知道是否有比手動創建新的更好的方法arraywith let tasks = {}?我看過,map但我不確定這會有所幫助。我是新手,只是想了解是否有更清潔的更好方法。
查看完整描述

1 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

您可以使用Object.entries獲取條目數組,根據值的completed屬性是否為真對其進行過濾,然后將其轉回具有以下內容的對象Object.fromEntries:


const state = {

  tasks: {

    'ID1': {

      name: "Go to shop",

      completed: false,

    },

    'ID2': {

      name: "Get bananas",

      completed: true,

    },

    'ID3': {

      name: "Get apples",

      completed: false,

    }

  }

}


function getCompletedTasks(state) {

  return Object.fromEntries(

    Object.entries(state.tasks).filter(([, val]) => val.completed)

  );

}


console.log(getCompletedTasks(state));


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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