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

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

如何為數組中的每個元素創建唯一的日期?

如何為數組中的每個元素創建唯一的日期?

郎朗坤 2022-09-23 21:31:42
我正在制作 React 應用程序,我有這樣的問題:例如,我有一個數組,它看起來像這樣:containerconst container = [ {item: '1'}, {item: '2'}, {item: '3'}, {item: '4'}]然后我想在html 4列中制作,每個列都有一個值。所以我正在使用這個:<div> {container.map(t =>  <div className='box'>{t.item}</div> )}</div>因此,它將生成具有不同值的 4:div1/2/3/4現在我的問題在這里:如何為每個日期(從toda到...)制作自己的日期?box第一項 = 6 月 8 日,星期一第二個項目 = 6月9日,星期二等。我做了這樣的事情,但它只顯示當前日期,bu我需要顯示從今天開始的接下來幾天:8,9,10,11等(最后一個日期沒關系,它可以是6月25日)let x = new Date();let fullDate = x.toLocaleString('en-gb', { day:'numeric' , weekday: 'long', month: 'long' });附言:當我使用它時,它會在每列中顯示所有日期。for
查看完整描述

2 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

執行此操作的一種方法是在每個對象中添加 date 屬性。container


你在你的問題中沒有提到它,但通過這個例子,我理解你要求日期每天增加。為此,您可以將N天添加到當前日期,請查看以下示例,addDays函數將每個參數花費的天數添加到今天


const container = [

  {

    item: 1,

    date: new Date(),

  },

  {

    item: 2,

    date: addDays(1),

  },

  {

    item: 3,

    date: addDays(2),

  },

  {

    item: 4,

    date: addDays(3),

  },

];


function addDays(day) {

  const date = new Date();


  date.setDate(date.getDate() + day);


  return date;

}


console.log(container);


更新 0


// container state after fetching data

const container = [

  {

    item: 1,

  },

  {

    item: 2,

  },

  {

    item: 3,

  },

  {

    item: 4,

  },

];


// container state after transform

const list = container.map((entry) => ({

  ...entry,

  date: addDays(entry.item),

}));


function addDays(day) {

  const date = new Date();


  date.setDate(date.getDate() + day);


  return date;

}


console.log(list);

更新 1


為了格式化日期,您可以嘗試類似這樣的東西


function format(date) {

  const month = date.getMonth()

  const day = date.getDate()


  return `${month}-${day}`;

}

并以這種方式調用格式方法


function addDays(day) {

  const date = new Date();


  date.setDate(date.getDate() + day);


  return format(date);

}

您可以在這個超級受歡迎的問題中閱讀有關日期格式的信息


然后在 react 容器列表中,它變得簡單


<div>

  {container.map((t) => (

    <div className="box">

      <span>{t.item}</span>

      <span>{t.date}</span>

    </div>

  ))}

</div>;


查看完整回答
反對 回復 2022-09-23
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

您可以使用此函數生成隨機日期


function randomDate(start, end) {

    return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));

}

//result

const myRandomDate = randomDate(new Date(2020, 6, 8), new Date())

console.log(myRandomeDate)

將日期添加到對象列表中


const newContainer =[] 

container.forEach(c=>{

  newContainer.push( { item:c.item , date:randomDate(new Date(2020, 6, 8), new Date()) })

})


查看完整回答
反對 回復 2022-09-23
  • 2 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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