Angular 检查数组值并更改输入isCheck(函数)

Angular 检查数组值并更改输入isCheck(函数),angular,typescript,ionic-framework,Angular,Typescript,Ionic Framework,我将true复选框值存储在数组中 然后在获得数组后,如果复选框值在数组中,我想将复选框改为true 以下是函数: put(array, checkbox){ for(let ent of checkbox) { for(let entery of array) { ent.val === entery ? ent.isChecked= true : ent.isChecked= false } }

我将true复选框值存储在数组中

然后在获得数组后,如果复选框值在数组中,我想将复选框改为true

以下是函数:

put(array, checkbox){
    for(let ent of checkbox) {    
      for(let entery of array)  {
        ent.val === entery 
        ? ent.isChecked= true
        : ent.isChecked= false
      }
    }
  }
我是如何存储复选框的:


  public home_category = [
    { val: 'غرفة  نوم', isChecked: false },
    { val: 'صالة', isChecked: false },
    { val: 'حوش', isChecked: false },
    { val: 'مجلس', isChecked: false },
    { val: 'غرفة سائق', isChecked: false },
    { val: 'مطبخ', isChecked: false },
    { val: 'ملحق خارجي', isChecked: false },
    { val: 'صالة طعام', isChecked: false },
    { val: 'مستودع', isChecked: false }
  ];
此功能不起作用:(

html:

        <ion-list>
          <ion-item *ngFor="let entry of home_category">
            <ion-label>{{entry.val}}</ion-label>
            <ion-checkbox slot="end" [(ngModel)]="entry.isChecked"></ion-checkbox>
          </ion-item>
        </ion-list>

{{entry.val}

如果找到任何匹配项,您应该使用
break
退出
for
循环

put(array, checkbox){
    for(let ent of checkbox) {    
      for(let entry of array)  {
        if(ent.val === entry){
          ent.isChecked = true;
          break;
        }
      }
    }
  }

试着这样做:

put(array, checkbox) {
    checkbox.forEach(chk => chk.isChecked = array.includes(chk.val));
}

数组是什么样子的?也共享你的html代码[“数组”]、“数组”、“数组”]、“数组”]这是数组,它与我不起作用