簡體   English   中英

如何使用array.map方法從數組數組返回對象數組?

[英]How to return an array of objects from array of arrays with array.map method?

我使用 React 並且在 Redux Persist 減速器中有這個數組:

const data = [["2020-09-14","15:00","60","Info","April Tucker","Other","yes"],
["2020-09-14","2:00","50","Text","April Tucker","Other","yes"]]

我想用數據數組中的一些值返回一個新的對象數組(對於數組中的每個數組)。 它應該是什么樣子的示例:

let events = [{ title: data[0][3], date: data[0][0] },{ title: data[1][3], date: data[1][0]}] 

我嘗試使用 array.map 方法:

 let events [
    data.map((index) => ({
      title: data[index][3],
      date: data[index][0],
    })),
  ]

這不像我預期的那樣工作。 如何正確地做到這一點?

.map函數為您提供數組的每一項作為回調函數中的參數。

像這樣使用它:

 const data = [ ["2020-09-14", "15:00", "60", "Info", "April Tucker", "Other", "yes"], ["2020-09-14", "2:00", "50", "Text", "April Tucker", "Other", "yes"] ] let events = data.map(item => ({ title: item[3], date: item[0], })) console.log(events)

map函數上的回調將實際數組項作為第一個參數,將索引作為第二個參數,而您的函數將index作為第一個參數。

此外,您將地圖操作的結果放在方括號[ ] map 生成的數組將作為新數組中的第一個元素放置,而您可能不希望那樣

let events = data.map(arr => ({
  title: arr[3],
  date: arr[0],
})

使用解構速記屬性名稱,一二三很容易

 const data = [["2020-09-14","15:00","60","Info","April Tucker","Other","yes"], ["2020-09-14","2:00","50","Text","April Tucker","Other","yes"]] let events = data.map(([date,,,title]) => ({title, date}) ) console.log(events)

暫無
暫無

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

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