简体   繁体   English

在vue.js中访问数组对象属性

[英]Accessing array object property in vue.js

Given the following array in vue.js : 给出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"
    ....
....

...and given the value F-TeardropBanner , how can I access the given array and return the relevant PackageType ? ...并且给定值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);
},

出现在vue.js中的数组

If your response data is BIG in size, convert that response data to another object with (key,value) as { product Id : packageMap_x_object }, like below, thus retrieval will be fast 如果您的响应数据大小为BIG,请将该响应数据转换为另一个对象,其中(key,value)为{ product IdpackageMap_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 ----------
}

OR in simple you can use a for..in loop, 或者简单地说你可以使用for..in循环,

for (let packageMap in this.packageMaps) {
  if(packageMap.ProductCode == input_ProductCode ){
       // more code
       break;
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM