Доступ к свойству объекта массива в vue.js - PullRequest
0 голосов
/ 04 марта 2019

Учитывая следующий массив в vue.js:

packageMaps: Object
    packageMap_0: Object
        Id: 16
        PackageType: "flag_list"
        ProductCode: "F-BannerBase"
    packageMap_1: Object
        Id: 82
        PackageType: "flag_list"
        ProductCode: "F-TeardropBanner"
    ....
....

... и учитывая значение F-TeardropBanner, как я могу получить доступ к данному массиву и вернуть соответствующий PackageType?

populatePackageList(productCode) {
  let packageList = [];
  let packageType = '';
  for(let key in this.packageMaps.ProductCode) {
      if(productCode === this.packageMaps[key];
      // not sure what to do here or if I am on the right track
  }
  this.formData.packageList = Object.assign({}, this.formData.packageList, packageList);
},

Array as it appears in vue.js

1 Ответ

0 голосов
/ 04 марта 2019

Если ваши данные ответа имеют БОЛЬШОЙ размер, преобразуйте эти данные ответа в другой объект с (key,value) как {product Id: packageMap_x_object}, как показано ниже, поэтому поиск будет быстрым

let newPackageMaps = {
  "F-BannerBase": packageMap_0_Object
  "F-TeardropBanner":packageMap_1_Object
   ..........
   ..........
} 

populatePackageList(productCode) {
   //---------- more code----------------
  let packageMapItem = newPackageMaps[productCode]? 
      newPackageMaps[productCode]:null;
  //---------- more code ----------
}

ИЛИ просто, вы можете использовать цикл for ... in,

for (let packageMap in this.packageMaps) {
  if(packageMap.ProductCode == input_ProductCode ){
       // more code
       break;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...