【问题标题】:Loop Through Two JSON Arrays With a Boolean Condition [Angular 10]循环遍历两个带有布尔条件的 JSON 数组 [Angular 10]
【发布时间】:2020-11-29 15:33:54
【问题描述】:

我有两个来自外部的 JSON 数组,我想在 Angular 中循环,但我不确定该怎么做。

对象中的第一个数组看起来像 ViewAttributes.FunctionNames,第二个数组是 ViewAttributes.FunctionActive。

现在我正在使用正确的菜单,但我的目标是当每个值的布尔位置为 true,而不是 false 时,在菜单选项中显示正确的 FunctionNames 值。我需要改变什么?

我的代码如下:

view.component.html

  <mat-menu #contextMenu="matMenu" #contextMenu2="matMenu">
    <ng-template matMenuContent let-action="action">
      <button mat-menu-item (click)="onContextMenuAction(action)">{{FunctionNames}}</button>
    </ng-template>
  </mat-menu>

view.component.ts

      // Right Click Context Menu for View Data Table

    onContextMenu(event: MouseEvent, action: ViewDataSource) {
      event.preventDefault();
      this.contextMenuPosition.x = event.clientX + 'px';
      this.contextMenuPosition.y = event.clientY + 'px';
      this.contextMenu.menuData = { action: action };
      this.contextMenu.menu.focusFirstItem('mouse');
      this.contextMenu.openMenu();
      console.log(this.FunctionNames);
    }

    onContextMenuAction(action: ViewDataSource ) {
      console.log(action);
      console.log(parseInt(action[0]));
      console.log(parseInt(action[3]));

      // this.launchService.launchAction(this.line.targetActionTag.value, this.line.targetActionType);
      // tslint:disable-next-line: radix
      this.launchService.launchAction(parseInt(action[0]), parseInt(action[3]));
    //   debugger;

    }

我的两个 JSON 数组对象看起来像:

ViewAttributes.FunctionNames = [Value1, Value2, Value3, ....]

ViewAttributes.FunctionActive = [true,false,true, ...]

【问题讨论】:

    标签: javascript arrays angular typescript angular-material


    【解决方案1】:

    如果您想根据FunctionActive 数组中相应索引处的布尔值显示FunctionNames。那么下面的代码可能会对您有所帮助

    ViewAttributes.FunctionNames =ViewAttributes.FunctionNames.filter((each,index)=>{return ViewAttributes.FunctionActive [index]})
    

    这将根据FunctionActive 数组中的布尔值过滤数组。

    【讨论】:

    猜你喜欢
    • 2021-02-11
    • 2015-11-08
    • 2020-01-11
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2014-05-25
    相关资源
    最近更新 更多