Javascript d3.keys()语法澄清?
大家好,刚刚开始学习JavaScript和d3.js 以下语法从名为“data”的关联数组中保存的每个对象创建一个新的属性名称数组 排除“数据”中第一个对象的属性名称Javascript d3.keys()语法澄清?,javascript,d3.js,Javascript,D3.js,大家好,刚刚开始学习JavaScript和d3.js 以下语法从名为“data”的关联数组中保存的每个对象创建一个新的属性名称数组 排除“数据”中第一个对象的属性名称 d3.keys(data[0]) .filter(function(key) { return key !== "date";})) 我不明白为什么下面的代码不能给出相同的结果 d3.keys(data) .filter(function(key) { return key !== "date";})) 为什么要告诉d
d3.keys(data[0])
.filter(function(key) { return key !== "date";}))
我不明白为什么下面的代码不能给出相同的结果
d3.keys(data)
.filter(function(key) { return key !== "date";}))
为什么要告诉d3选择[0]索引位置,以及过滤对象属性名称。d3.keys(object)方法不是在关联数组中运行并返回一个新数组,该数组根据定义包含每个指定对象的属性名吗?这让我觉得你只需要过滤?解释很简单:你不能将数组传递给d3.keys,它必须是一个对象。政府很清楚: 返回包含指定对象的属性名称的数组。(强调矿山) 如果您查看,您将看到
d3.keys
使用for…in
循环:
export default function(map) {
var keys = [];
for (var key in map) keys.push(key);
return keys;
};
这对数组不起作用。让我们看看:
功能键(地图){
var键=[];
对于(地图中的var键)键,按(键);
返回键;
}
var myArray=[{
x:“福”,
y:“酒吧”
}, {
x:“foobar”,
y:“barbaz”
}];
log(d3keys(myArray))
很多人都这么认为!我查看了MDN和d3源代码,但您确定了我缺少的内容——“数组索引只是具有整数名称的可枚举属性。”