Добавить sobject в список, который находится в списке javascript

У меня есть список под названием joinList, который содержит sobject и список sobject. это выглядит так

0:
   employeeRole:
      Employee__c:"a1n2C0000002SGqQAM"
      Id:"a1m2C000000cJaxQAE"
      Name:"Smith"
   employeeBlock:
        0:
            Id:"a1u2C00000011FQQAY"
            Name:"Week 2"
            Week_Number__c:2
            Total_Hours__c:4
        1:
            Id:"a1u2C00000011FQQAY"
            Name:"Week 5"
            Week_Number__c:5
            Total_Hours__c:6
1:{employeeRole: Array(0), employeeBlock: {a€¦}}

У меня есть целочисленное поле, которое дает мне количество недель с именем numberOfWeeksInput, Goal - если число недели равно 5.

Я хочу проверить, существует ли employeeBlock, существующий для каждой недели, если он не создает его на каждую неделю.

результат будет

у меня уже 2 и 5 недели. Я хочу создать их на неделю 1,3 и 4.



Обновить ответ.

У меня есть код, похожий на этот им, спрашивающий, есть ли другой способ упростить его, не используя jquery

    var numberOfWeekList =[];
       for(var t = 0; t < numberOfWeeksInput;t++){
            numberOfWeekList.push((t+1));
        }
if( numberOfWeeksInput != null && numberOfWeeksInput != 0){
   for(var i = 0; i < joinList.length;i++){
        var empolyeeBlock = joinList[i].empolyeeBlock ;
        var existWeeks= [];
        if(empolyeeBlock !== null && empolyeeBlock.length !== 0){
         for(var t = 0; t < empolyeeBlock.length;t++){                        
             existWeeks.push(empolyeeBlock[t].Week_Number__c);
             }
         }
         var numberOfWeekUnassighned = numberOfWeekList.filter( ( el ) => !existWeeks.includes( el ) );
        if(numberOfWeekUnassighned !== null && numberOfWeekUnassighned.length !==0 && numberOfWeekUnassighned.length !== numberOfWeeksInput){
        for(var k = 0; k < numberOfWeekUnassighned.length;k++){
                            employeeBlock.push({
                                'sobjectType': 'EmployeeBlock__c',
                                'Name': 'Week '+(numberOfWeekUnassighned[k]),
                                'Week_Number__c':(numberOfWeekUnassighned[k]),
                                'Total_Hours__c':null
                            })
                        }
                    roleEstimateBlock.sort((a , b) => a.Week_Number__c - b.Week_Number__c);
                    }else if( employeeBlock.length <= numberOfWeeksInput){
                        for(var j = 0; j < numberOfWeeksInput;j++){
                            employeeBlock.push({
                                'sobjectType': 'EmployeeBlock__c',
                                'Name': 'Week '+(j+1),
                                'Week_Number__c':(j+1),
                                'Total_Hours__c':null
                            })
                        }
                    }
                }  
            }

javascript,arrays,arraylist,salesforce,

0

Ответов: 0

Добавить sobject в список, который находится в списке javascript

У меня есть список под названием joinList, который содержит sobject и список sobject. это выглядит так

0:
   employeeRole:
      Employee__c:"a1n2C0000002SGqQAM"
      Id:"a1m2C000000cJaxQAE"
      Name:"Smith"
   employeeBlock:
        0:
            Id:"a1u2C00000011FQQAY"
            Name:"Week 2"
            Week_Number__c:2
            Total_Hours__c:4
        1:
            Id:"a1u2C00000011FQQAY"
            Name:"Week 5"
            Week_Number__c:5
            Total_Hours__c:6
1:{employeeRole: Array(0), employeeBlock: {a€¦}}

У меня есть целочисленное поле, которое дает мне количество недель с именем numberOfWeeksInput, Goal - если число недели равно 5.

Я хочу проверить, существует ли employeeBlock, существующий для каждой недели, если он не создает его на каждую неделю.

результат будет

у меня уже 2 и 5 недели. Я хочу создать их на неделю 1,3 и 4.



Обновить ответ.

У меня есть код, похожий на этот им, спрашивающий, есть ли другой способ упростить его, не используя jquery

    var numberOfWeekList =[];
       for(var t = 0; t < numberOfWeeksInput;t++){
            numberOfWeekList.push((t+1));
        }
if( numberOfWeeksInput != null && numberOfWeeksInput != 0){
   for(var i = 0; i < joinList.length;i++){
        var empolyeeBlock = joinList[i].empolyeeBlock ;
        var existWeeks= [];
        if(empolyeeBlock !== null && empolyeeBlock.length !== 0){
         for(var t = 0; t < empolyeeBlock.length;t++){                        
             existWeeks.push(empolyeeBlock[t].Week_Number__c);
             }
         }
         var numberOfWeekUnassighned = numberOfWeekList.filter( ( el ) => !existWeeks.includes( el ) );
        if(numberOfWeekUnassighned !== null && numberOfWeekUnassighned.length !==0 && numberOfWeekUnassighned.length !== numberOfWeeksInput){
        for(var k = 0; k < numberOfWeekUnassighned.length;k++){
                            employeeBlock.push({
                                'sobjectType': 'EmployeeBlock__c',
                                'Name': 'Week '+(numberOfWeekUnassighned[k]),
                                'Week_Number__c':(numberOfWeekUnassighned[k]),
                                'Total_Hours__c':null
                            })
                        }
                    roleEstimateBlock.sort((a , b) => a.Week_Number__c - b.Week_Number__c);
                    }else if( employeeBlock.length <= numberOfWeeksInput){
                        for(var j = 0; j < numberOfWeeksInput;j++){
                            employeeBlock.push({
                                'sobjectType': 'EmployeeBlock__c',
                                'Name': 'Week '+(j+1),
                                'Week_Number__c':(j+1),
                                'Total_Hours__c':null
                            })
                        }
                    }
                }  
            }
00JavaScript, массивы, ArrayList, Salesforce,
Похожие вопросы