Проверить массив с дневным объектом - PullRequest
1 голос
/ 29 мая 2020

У меня есть массив объектов,

DayEffort:[{
    Description: null
    Effort: 2
    EffortDate: "2019-05-20T00:00:00"
    day:Sunday
    Status: "In Progress"
   },       
    { 
    Description: null
    Effort: 1.5
    EffortDate: "2019-05-22T00:00:00"
    Day : Tuesday 
    Status: "In Progress"
    },
    {

    Description: null
    Effort: 1.5
    EffortDate: "2019-05-23T00:00:00"
    Day : Thursday
    Status: "In Progress"

}]

, которые содержат свойство day, если день - воскресенье, ему нужно pu sh по нулевому индексу нового массива, понедельник - по 1-му индексу, если не соответствует pu sh нулевое значение,

Исключенный результат:

NewArray : [
0:{Description: null Effort: 2 EffortDate: "2019-05-20T00:00:00" day:Sunday Status: "In Progress"},
1: null,
2: {Description: null Effort: 2 EffortDate: "2019-05-20T00:00:00" day:Tuesday Status: "In Progress"},
3: null,
4: {Description: null Effort: 2 EffortDate: "2019-05-20T00:00:00" day:Thursday Status: "InProgress"},
5: null,
6: null,
]

Пробовал,

var DayArray = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday', 'Saterday'];  
for(var k = 0 ; k < DayArray.length; k++){  
                     for(var m = 0; m < DayEffort.length; m++){                        

                         if(DayArray[k] == DayEffort[m].day){
                             NewArray.push(DayEffort[m]);

                         }
                         else{
                             NewArray.push(null);                                                            
                         }

                     }                      
                 }

Пожалуйста, помогите мне,

1 Ответ

1 голос
/ 29 мая 2020

Вот так (после исправления неверных значений объекта и пропущенных запятых)

const DayEffort = [{ Description: null, Effort: 2, EffortDate: "2019-05-20T00:00:00", Day: "Sunday", Status: "In Progress" }, { Description: null, Effort: 1.5, EffortDate: "2019-05-22T00:00:00", Day: "Tuesday", Status: "In Progress" }, { Description: null, Effort: 1.5, EffortDate: "2019-05-23T00:00:00", Day: "Thursday", Status: "In Progress" } ];

let NewArray= new Array(7).fill(null);
const DayArray = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

DayEffort.forEach(item => NewArray[DayArray.indexOf(item.Day)] = item);
console.log(NewArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...