对于Constructor函数内部的循环内部对象定义

时间:2018-03-20 16:29:36

标签: javascript loops

如何循环参数[array],以创建对象属性?

一旦我尝试在对象声明中放置循环,就会引发很多错误。

还有其他办法吗?

预期结果是循环遍历parameterArray并根据长度创建i数据集。

function Constructor (parameterArray, fill, labels) {
  this.parameterArray = parameterArray;
  this.fill = fill;
  this.labels = labels;

    var object = {
    name: {
        label: labels
    },
    datasets: [
    for (i=0; i<parameterArray.length; i++;) {
        type: parameterArray[i]
      fill: true;
      };
    ]
  }
};

var parameterArray = ["why", "u", "no", "work"];
var fill = true;
var labels = [1,2,3,4];



var helpme = new Constructor (parameterArray, true, labels); 

1 个答案:

答案 0 :(得分:3)

使用.map将数组中的每个条目映射到另一个条目(我省略了parameter undefined}:

function Constructor (parameterArray, fill, labels) {
  this.fill = fill;
  this.labels = labels;

  this.dataset = {
    name: {
      label: labels
    },
    datasets: parameterArray.map(type => ({
      type, fill: true
    }))
  }
};

var parameterArray = ["why", "u", "no", "work"];
var fill = true;
var labels = [1,2,3,4];



var helpme = new Constructor (parameterArray, true, labels); 

console.log('De nada', helpme)