Javascript 类型“Actionmodel”不可分配给类型“boolean”

Javascript 类型“Actionmodel”不可分配给类型“boolean”,javascript,angular,typescript,Javascript,Angular,Typescript,我需要在列表中找到对象 这是我的清单: export interface Controllermodel { controllerDisplayName: string; controllerFarsiName: string; roleId: number; controllerId: string; actionsVM: Actionmodel[]; } export interface Actionmodel { displayName: string; ac

我需要在列表中找到对象

这是我的清单:

export interface Controllermodel {
  controllerDisplayName: string;
  controllerFarsiName: string;
  roleId: number;
  controllerId: string;
  actionsVM: Actionmodel[];
}

export interface Actionmodel {
  displayName: string;
  actionEnglishName: string;
  actionId: number;
}
现在我需要在列表中查找对象,但当我使用此代码时:

export class ValidatePermissionDirective implements OnInit {

  show: boolean;
  constructor(private templateRef: TemplateRef<any>,
              private viewContainerRef: ViewContainerRef
    ,         private dynamic: DynamicPermissionService) { }

  // tslint:disable-next-line:no-input-rename
  @Input('appValidatePermission') AccessName:string;

  ngOnInit() {
    this.ValidatePemission();
    if (this.show) {
      this.viewContainerRef.createEmbeddedView(this.templateRef);
    } else {
      this.viewContainerRef.clear();
    }
  }
  ValidatePemission()
  {
    console.log(this.AccessName)
    const find = this.dynamic.dynamicModel.find(x =>
      x.actionsVM.find(z => z.actionEnglishName === this.AccessName));
      console.log(find)
      if (find) {
        console.log(false);
        this.show = false;
      } else {
        console.log(true);
        this.show = true;
      }
  }
}
但当我使用此代码时,它会显示以下错误:

类型“Actionmodel”不可分配给类型“boolean”

有什么问题吗??如何解决此问题?

添加!!要确保查找结果为布尔值,请执行以下操作:

const find = this.dynamic.dynamicModel.find(x =>
  !!x.actionsVM.find(z => z.actionEnglishName === this.AccessName));
接受单个参数:接受数组元素并返回布尔值的函数。返回的对象将是找到的实例或未定义的实例

在内部find调用中,您得到了以下正确结果:z.actionEnglishName===this.AccessName返回一个布尔值


在外部查找调用中,您将返回内部查找的结果,该结果将是Actionmodel实例或未定义的值。这些值可以强制为true和false,但Typescript希望这是显式的。从!!,确保truthy值(如实例)将返回值true,而falsy值(如undefined)将返回值false,它与Typescript对find方法的定义相匹配。

哪一行抛出error@Sajeetharan在这一行中:const find=this.dynamic.dynamicModel.findx=>x.actionsVM.findz=>z.actionEnglishName==this.AccessName@kianoushdortaj这是什么类型的。AccessName您在哪里声明它?@MaihanNijat i更新问题您可以在问题中添加DynamicPermissionService代码吗
const find = this.dynamic.dynamicModel.find(
    x => x.actionsVM.find(
        z => z.actionEnglishName === this.AccessName));