簡體   English   中英

JavaScript:- 將月份添加到對象數組中

[英]JavaScript:- Add months to array of object

我有一個對象數組。 數組長度為 12。我需要為每個對象添加月份,添加月份的最佳方法是什么

  array = [ {name:"aa"},{name:"bb"}, {name:"cc"}.......]. 

結果我要

array = [ {monthName: 'January', name:"aa"},{monthName: 'February',name:"bb"}, {monthName: 'March',name:"cc"}............]. 

由於月份名稱是不可變的,並且您已經知道數組的長度正好是 12,因此只需手動一一進行即可。 有更高級的方法可以做到這一點,但沒有一種方法容易理解或有效利用資源。

array[0].monthName = 'January';
array[1].monthName = 'February';
array[2].monthName = 'March';
...

將所有月份存儲在數組中months = ['January', 'February', 'March'.....]

循環遍歷array並匹配索引

array.map((x, index) => {
  if(months[index]) {
    x.monthName = months[index];
  }
  return x;
}

您可以添加一個月份數組,而無需更改該數組,您可以根據您的first array創建another variable並將月份添加為 prop:

 let array = [{ name: "aa" }, { name: "bb" }, { name: "cc" }]; let months = ["JAN", "FEB", "MAR"] const res = array.map((el, index) => ({ name: el.name, month: months[index] })); console.log(res)

首先,你必須聲明一個數組,它的月份如下數組

let month = ['January',February', .... ];

現在您必須迭代源數組,即數組並為每個對象推送月屬性。 下面提供了代碼片段。

array.forEach(element,index)=>{
     element['monthName'] = month[index]
}

自己定義一個月份的數組,或者從像moment.js這樣的庫中獲取它。

這樣,如果您需要更輕松,您就可以在以后處理日期。 如果您願意,您還可以獲得本地化(不是一件容易的事)和簡稱(例如“Jan”而不是“January”)。

 var array = [{name:"aa"}, {name:"bb"}, {name:"cc"}]; var months = moment.months(); // or .monthsShort(); array.forEach((e, idx) => { if (months[idx]) e.monthName = months[idx]; }); console.log(array);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>

是有關months()monthsShort()的文檔。

暫無
暫無

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

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