【问题标题】:How to insert arrays into objects that are inside an array? For ng2-charts / Charts.js如何将数组插入到数组内的对象中?对于 ng2-charts / Charts.js
【发布时间】:2020-09-17 21:45:56
【问题描述】:

假设我有 2 个数组:

var array1 = [1,1,1];
var array2 = [2,2,2];

如何使用如下所示的 2 个对象创建父数组?

(我正在尝试将上面给定的数组插入到具有 2 个对象的父数组中,但我还需要创建对象以便它们包含显示的键。这是为了符合 ng2-charts ChartDataSets 类型.)

// below is what I'm trying to accomplish, but I only have the 2 arrays above so far
[
  { data : array1, label: 'some label1' },
  { data : array2, label: 'some label2' },
]

【问题讨论】:

    标签: javascript arrays object chart.js ng2-charts


    【解决方案1】:

    let arr1 = [1, 1, 1];
    let arr2 = [2, 2, 2];
    let reqArray = [arr1, arr2].map((ele, ind) => {
      return {
        data: ele,
        label: `some label${ind+1}`
      }
    });
    console.log(reqArray)

    【讨论】:

    • 谢谢,效果很好!非常感谢。
    【解决方案2】:

    通过使用以下语句列表,您可以实现上述对象数组。

    var array1 = [1,1,1];
    var array2 = [2,2,2];
    var arrObj = [];
    var tempObj = {};
    tempObj.data = array1;
    tempObj.lable = "test1";
    arrObj.push(tempObj);
    tempObj.data = array2;
    tempObj.lable = "test1";
    arrObj.push(tempObj);
    

    “arrObj”具有您想要的示例输出

    【讨论】:

    • 请检查你的输出会得到一些类似重复数组的东西
    【解决方案3】:

    使用映射和扩展运算符

    const array1 = [1,1,1];
    const array2 = [2,2,2];
    
    const parentArr = [
      { label: 'some label1' },
      { label: 'some label2' },
    ]
    
    function a (array) {
      return parentArr1 = parentArr.map(it => {
        return {...it, data: array }
      })
    }
    
    console.log(a(array1))
    console.log(a(array2))
    

    【讨论】:

    • array 是未定义的,你看你在调用a() 时没有传递任何东西。我又测试了,请也测试一下
    猜你喜欢
    • 1970-01-01
    • 2022-01-17
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多