将sobject添加到javascript列表中的列表

将sobject添加到javascript列表中的列表,javascript,arrays,arraylist,salesforce,Javascript,Arrays,Arraylist,Salesforce,我有一个名为joinList的列表,其中包含一个sobject和一个sobject列表。看起来像这样 0: employeeRole: Employee__c:"a1n2C0000002SGqQAM" Id:"a1m2C000000cJaxQAE" Name:"Smith" employeeBlock: 0: Id:"a1u2C00000011FQQAY" Name:"Week 2"

我有一个名为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: {…}}
我有一个整数字段,它给我周数,叫做numberOfWeeksInput, 目标是如果一周的次数是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
                            })
                        }
                    }
                }  
            }
var numberOfWeekList=[];
对于(var t=0;t!existWeeks.includes(el));
如果(numberOfWeekUnassighned!==null&&numberOfWeekUnassighned.length!==0&&numberOfWeekUnassighned.length!==NumberOfWeekInput){
对于(变量k=0;ka.Week\u Number\uu c-b.Week\u Number\uu c);

否则,如果你所发布的数据是有效的JavaScript,那么如果FieldBoo.Simple会很好,那么如果有人想帮助你,他们需要格式化你的代码以使它可以运行。考虑编辑它,数组在<代码> []/Cord>中,对象在<代码> {}中。
@MarkMeyer他们有问题数据量很大,给我一点时间,我将用数据片段编辑我的问题。如下图所示comment@MarkMeyer[{employeeBlock:Array(5),employeeRole:{…},{employeeBlock:Array(5),employeeRole:{…},]代码没有完成它的工作,因为数组的长度是最后一个条目加上一个条目的索引,而不是条目数。如果不清楚,请查找稀疏数组。尝试在数组中从0迭代到周数减去一,并检查需要创建的未定义条目。@traktor53我找到了问题I的解决方案用解决方案更新问题,是否有简化解决方案的方法