Ich habe ein Array von Objekten, ich wollte das Array durchlaufen und die Objekte einer lokalen Variablen zuordnen

Array-Objekte

[
    {startDate: "05/01", endDate: "05/07", label: "05/01 - 05/07 (week1)"},
    {startDate: "05/08", endDate: "05/14", label: "05/08 - 05/14 (week2)"},
    {startDate: "05/15", endDate: "05/15", label: "05/15 - 05/15 (week3)"}
] 

Jetzt wollte ich nur das Beschriftungsobjekt nehmen und es auf this.dateLable schieben

Erwartet

    this.dateLable =[
{ id: '05/01 - 05/07', label: "05/01 - 05/07 (week1)" }, 
{ id: '05/08 - 05/14', label: "05/08 - 05/14 (week2)" },
{ id: '05/15 - 05/15', label: "05/15 - 05/15 (week3)"}
]

Mein Code

 this.weekByDates().find(x => x.label == push(this.dateLable) )

Bitte helfen Sie mir, wie dies erreicht werden kann.

-1
arunkumar 18 Apr. 2018 im 09:26

3 Antworten

Beste Antwort

Angenommen, arr ist das anfängliche Array von Objekten:

this.dateLable = arr.map((x) => ({
  id: `${x.startDate} - ${x.endDate}`,  // es6 template literals
  label: x.label
}));
1
kapantzak 18 Apr. 2018 im 06:34

Sie können Array.map verwenden, um die Daten im Array zu transformieren:

let source = [{startDate: "05/01", endDate: "05/07", label: "05/01 - 05/07 (week1)"},{startDate: "05/08", endDate: "05/14", label: "05/08 - 05/14 (week2)"},{startDate: "05/15", endDate: "05/15", label: "05/15 - 05/15 (week3)"}];

let dateLable = source.map(v=> ({
    id: `${v.startDate} - ${v.endDate}`, label: v.label
}));
console.log(dateLable);
0
Hassan Imam 18 Apr. 2018 im 06:31

Verwenden Sie Array.map

Sie können versuchen, zu folgen

var arr = [
    {startDate: "05/01", endDate: "05/07", label: "05/01 - 05/07 (week1)"},
    {startDate: "05/08", endDate: "05/14", label: "05/08 - 05/14 (week2)"},
    {startDate: "05/15", endDate: "05/15", label: "05/15 - 05/15 (week3)"}
] 


this.dateLabel =arr.map(function(item){
   return {
       id : item.startDate + " - " + item.endDate,
       label: item.label
  };
});

console.log(this.dateLabel);
0
Nikhil Aggarwal 18 Apr. 2018 im 06:29