簡體   English   中英

我想從數組中的 object 獲取值鍵

[英]I want to get values key from object which is in array

我有很多天

"selectedDays": [
            "Sunday",
            "Tuesday",
            "Wednesday"
        ]

這是即將到來的請求正文,現在我必須 map 並生成它的數量,所以我有一個 object

const Week_mapping = {
  "Sunday": 0,
  "Monday": 1,
  "Tuesday":2,
  "wednesday":3,
  "Thursday": 4,
  "Friday": 5,
  "Saturday": 6
}

示例 1 - 假設數組有星期日、星期二、星期三。

所需的 Output:

[0,2,3]

示例 2 - 假設數組有星期日、星期一、星期二、星期三、星期五

所需的 Output:

[0,1,2,3,5]

我怎樣才能做到這一點?

您可以使用簡單的maps()執行以下操作 -

 const Week_mapping = { "Sunday": 0, "Monday": 1, "Tuesday": 2, "Wednesday": 3, "Thursday": 4, "Friday": 5, "Saturday": 6 } const selectedDays = [ "Sunday", "Tuesday", "Wednesday" ] // The following line will return array in which the elements in // selectedDays list will be mapped to their corresponding Week_mapping const res = selectedDays.map(element => Week_mapping[element]) console.log(res)

如果您還不了解地圖,可以在此處閱讀有關地圖的更多信息。 基本上, map()采用 function 並將數組的每個元素(使用 map)映射到 function 返回的結果。

所以,上面的代碼也可以這樣寫=>

 const Week_mapping = { "Sunday": 0, "Monday": 1, "Tuesday": 2, "Wednesday": 3, "Thursday": 4, "Friday": 5, "Saturday": 6 } const selectedDays = [ "Sunday", "Tuesday", "Wednesday" ] // The following function will take a week day and return the number corresponding to it function weekDaysToNumMappings (weekDay){ return Week_mapping[weekDay]; } // Now, we map each element from selectedDays to value returned by above function const res = selectedDays.map(weekDaysToNumMappings) console.log(res)

希望這可以幫助 !

這將檢查是否沒有選擇日期:

let answer = selectedDays && selectedDays.length ? 
             selectedDays.map(key => Week_mapping[key]) 
            : []

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM