【问题标题】:How to give one object from an array of objects to zingchart?如何将一组对象中的一个对象提供给zingchart?
【发布时间】:2020-05-22 08:39:59
【问题描述】:

假设我有一个具有以下结构的对象数组


var dummyArray = [
{diff: "0.000", totalLength: 3},
{diff: "0.001", totalLength: 3},
{diff: "0.002", totalLength: 4},
{diff: "0.003", totalLength: 2},
{diff: "0.004", totalLength: 1},
{diff: "0.005", totalLength: 3},
{diff: "0.012", totalLength: 1},
{diff: "0.016", totalLength: 1},
{diff: "0.023", totalLength: 1},
{diff: "0.044", totalLength: 1},
{diff: "0.111", totalLength: 1},
{diff: "0.156", totalLength: 1}
];

现在我想将差异作为参数提供给以下 zingchart 配置。

"scale-x": {
              "values": "1994:2014",
              "max-items": 99,
              "guide": {
                "visible": false
              }
           },

而不是值“1994:2014” 类似于以下方式

"scale-x": {
              "values": dummyArray.diff,
              "max-items": 99,
              "guide": {
                "visible": false
              }
           },

考虑 datatables API,我们如何直接给出对象(属性)名称。

同样,是否可以直接给出类似上述方式的内容,而无需通过任何数组过滤器操作数据?

提前致谢

【问题讨论】:

  • 要从变量中分配值,你会这样做dummyArray[0].diff
  • @sameer-khan values param 接受一个值数组,我的要求是我想通过对象“diff”传递所有值............我们可以做这通过传递类似[dummyArray[0].diff, dummyArray[1].diff, dummyArray[2].diff...........] 的东西,或者我们可以制作一个类似let result = objArray.map(a => a.foo) 的diff 对象值数组并将其作为输入。但我的问题是有没有什么聪明的方法可以在不操纵数据的情况下实现这个功能

标签: javascript html jquery zingchart


【解决方案1】:

分配所有值的唯一方法是将maptoString() 一起使用,如下所示
dummyArray.map(x => x.diff).toString();

工作示例

const dummyArray = [{diff:"0.000",totalLength:3},{diff:"0.001",totalLength:3},{diff:"0.002",totalLength:4},{diff:"0.003",totalLength:2},{diff:"0.004",totalLength:1},{diff:"0.005",totalLength:3},{diff:"0.012",totalLength:1},{diff:"0.016",totalLength:1},{diff:"0.023",totalLength:1},{diff:"0.044",totalLength:1},{diff:"0.111",totalLength:1},{diff:"0.156",totalLength:1}];

const myObj = {
  "values": dummyArray.map(x => x.diff).toString(),
  "max-items": 99,
  "guide": {
    "visible": false
  }
}

console.log(myObj);

如果你有包含字符串列表的数组,那么你不需要map,你只需要toString()

dummyArray = ["0.000","0.001","0.002","0.003","0.004","0.005","0.012","0.016","0.023","0.044","0.111","0.156"];
dummyArray.toString();

【讨论】:

  • 是的,我同意我们可以通过将数据操作为所需格式来获取值,但我正在检查是否有任何方法可以在不操作数据的情况下直接将“属性”本身作为参数提供跨度>
  • 一旦输入数据是ZingChart,就无法操作其格式。数据预处理是一种常见的做法,也是 ZingChart 所必需的。注意:并非所有图表类型都具有相同的数据输入结构。
猜你喜欢
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 2019-12-27
  • 1970-01-01
  • 2020-12-19
相关资源
最近更新 更多