javascript - 是否可以构建响应 [] 运算符的对象

标签 javascript d3.js

我正在加载一个名为 D3 的库一些 CSV 文件,并对加载文件后返回的数据进行 console.log 处理,得到了以下结果:

d3.csv(..., function(data) {
    console.log(data)
    // this returns the following:
    //"(6) [{…}, {…}, {…}, {…}, {…}, {…}, columns: Array(8)]"
})

现在这部分对我来说很奇怪:

(6) [{…}, {…}, {…}, {…}, {…}, {…}, columns: Array(8)]

这看起来像是一个数组的混合体(因为我可以做类似 var a = data[2] 的事情),但它也看起来像一个对象(因为我可以做类似 的事情) var a = data.columns.

当我执行 typeof(data) 时,我知道它是一个对象,但我不知道如何构建一个也响应 [] 语法的对象。 (或者一个数组,响应对象属性)

这样的结构是如何构建的?

最佳答案

数组只是一种对象。它们可以做任何对象可以做的事情。

var data = ["a", "b", "c"];
data.arbitaryProperty = "Hello, world";
console.log(typeof data);
console.log(data[0]);
console.log(data.arbitaryProperty);

关于javascript - 是否可以构建响应 [] 运算符的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48111567/

相关文章:

javascript - 如何在兼容所有浏览器的mvc中实现google的语音识别

用于快速转换的 D3.js SVG 投影

javascript - 工作线程中的 window.alert

javascript - ExtJS 3.4.1 网格面板删除标题偏移

javascript - 可拖动元素在悬停在另一个可拖动元素之上时消失

javascript - 如何在自定义对象上指定 .constructor.name?

javascript - 在 clojure 中运行 D3.js

javascript - 使用 d3 中的嵌套数据

d3.js - D3 插值线曲线是 janky 并且自身加倍

javascript - 使用 D3.js 填充折线图 (v4)