Используйте переменную при прохождении данных, заданных подпиской в ​​Angular - PullRequest
0 голосов
/ 16 апреля 2020
getspacecol(){
this.gets=true;
this.selectedfeatures=[];
this.variantService.getData().subscribe((dat) => {
  this.dataa = dat;

   for(let i=0;i<this.selectedItems.length;i++)
   {
    this.tool=this.selectedItems[i].itemName;
    }
  console.log(this.tool);
  for(let i=0 ; i<this.dataa.length;i++){

    if(this.dataa[i].this.tool===this.searchResult.value)//error in this.tool
     {
      this.selectedfeatures.push(this.dataa[i]);               
     }      
  }
  this.data=[...this.selectedfeatures];
});
}

Привет, ребята, в моей таблице 200 столбцов, и в раскрывающемся списке угловых2 многоэлементный выпадающий список, включающий 200 столбцов. Я получаю выпадающее выбранное значение в переменной selectedItems. В условии if, если я даю this.dataa [i] .stackover, ошибки нет, поскольку stackover является одним из столбцов. Тот же самый стек используется в выпадающем списке и печатается в файле console.log, если он выбран.

Теперь мне нужно использовать эту переменную в условии if в this.dataa [i] .this.tool или иначе мне придется написать, если условия для 200 столбцов Можете ли вы, ребята, помогите мне в этом

1 Ответ

0 голосов
/ 16 апреля 2020

В случае, если l oop this.dataa[i].this.tool, this.tool рассматривается как имя ключа, и он пытается найти ключ "this.tool" в вашем объекте, что неверно, поэтому вы должны использовать следующий синтаксис чтобы достичь того же.

Пример:

var keyName = this.tool
this.dataa[i][keyName]
...