【问题标题】:Iterarting over array of objects and get unique values of each object遍历对象数组并获取每个对象的唯一值
【发布时间】:2021-04-03 12:47:19
【问题描述】:

我在 data() 中有这个变量:

jsonStatham: {
  "uniqueOne": {
    "field1": "",
    "field2": "",
    "field3": "",
    "field4": "",
    "field5": "",
    "freeTextArea": ""
  },
  "uniqueTwo": {
    "field1": "",
    "field2": "",
    "field3":"",
    "field4":"",
    "field5":"",
    "freeTextArea":""
  },
  "uniqueThree": {
    "field1": "",
    "field2": "",
    "freeTextArea": ""
  }
},

我想要检查此输入字段中的值是否:

<input type="text" name="platform" placeholder="Platform" id="platform" v-model="platform" required/>

正在匹配“jsonStatham”的键之一(uniqueOne/Two/Three),然后将匹配键的键推入数组。所以如果输入=== uniqueOne,那么这个数组:

inputFields: [

],

如下所示:inputFields["field1","field2","field3","field4","field5"]

这就是我尝试过的:

appendFields() {

      for (const [key, value] of Object.entries(this.jsonStatham)) {
        if(this.brand === this.jsonStatham[key]){
          //console.log("Brand =>", this.brand)
        }
        //console.log(`${key}: ${value}`);
        this.inputFields.push({
          [key]:value
        })
      }
      //console.log("ALL input Fields: \n",this.inputFields)
    },

我在 inputFields 中得到的是 "uniqueOne","uniqueTwo","uniqueThree"

【问题讨论】:

  • 不清楚什么是分支?
  • 我认为您需要提供更多代码和清晰度

标签: javascript vue.js object


【解决方案1】:
if (this.jsonStatham.hasOwnProperty(this.brand)) {
  this.inputFields.push(...Object.keys(this.jsonStatham[this.brand]));
}

【讨论】:

    【解决方案2】:

    这应该可以解决问题:

    1. 条件:
    if(Object.keys(this.jsonStatham).includes(this.brand) )
    

    这将是 True 数组 ["uniqueOne","uniqueTwo","uniqueThree", ..etc] 将包含 this.brand

    1. 推入数组:
    this.inputFields.push(...Object.keys(value))
    

    【讨论】:

    • 我的 If 条件是否良好?我不这么认为
    • 不知道什么牌子可以? :思考
    • 品牌是一个输入字段,我输入例如“uniqueOne”,如果它与任何对象键匹配,我应该在控制台日志中看到它
    • 噢,我的错
    • @OsherRevach 不用担心,刚刚用正确的条件更新了代码,如果可行,请告诉我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2020-07-21
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多