通过循环遍历数组来创建对象属性 - JS

时间:2018-06-11 16:53:54

标签: javascript vue.js

我正在和Vue一起工作,我得到了这个实际上是数组的道具。在这个数组中我可以有多种项目。对于每个项目,我想为特定对象创建一个属性。所以,如果我有一个包含methodscount的数组,我希望有一个像

这样的对象
   const data = {
       name: newObject.name,
       methods: newObject.methods,
       count: newObject.count,
       // All other properties here
   }; 

JS我有

this.inputs.forEach((input) => {
   // Make property here
});

            // Create properties here maybe?
            // newObject.methods ?

    // Set a data object for post rquest
   const data = {
       name: newObject.name,
       // All other properties here
   };

我怎样才能实现这一目标?我想到了forEach,但之后我就不知道该怎么做了。

`:inputs="['Methods']"`

然后遍历inputs道具,为每个项目获取newObject对象上的属性

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您正在尝试将属性解析为组件,然后遍历此属性并使用forEach循环将其分配给本地数据存储,

以下是一个示例小提琴:https://jsfiddle.net/eywraw8t/70166/

Vue.component('child', {
  props: ['data'],
  data: function() {
    return {
        'newItems': [],
    }
  },
  mounted: function(){
    this.data.forEach((input) => {
        this.newItems.push(input.data)
    });


    console.log(this.newItems)
  },
  template: `<div>{{ newItems }}</div>`
});

new Vue({
  el: "#app",
  data() {
    return {
      data: [
          { 'data': 123, 'other': 678 },
          { 'data': 233, 'other': 6728 },
          { 'data': 343, 'other': 67812 },
        ]
    }
  }
});