gpt4 book ai didi

Javascript:这是什么数据类型?

转载 作者:行者123 更新时间:2023-11-30 06:26:25 25 4
gpt4 key购买 nike

我正在使用 API 构建一些东西,但它没有很好的文档记录,所以我只能靠猜测。我有两个变量:g.nodes 和 g.edges,当我这样做时:

console.log(g.nodes);
console.log(g.edges);

我得到 g.nodes 的输出为:

Object {hello: Object, test: Object, test1: Object, test2: Object, test3: Object…} 

对于 g.edges 为:

[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]

我知道 g.edges 是一个数组,但是 g.nodes 是什么数据类型?

最佳答案

第一个 g.nodes 只是一个 javascript 对象,但您可以将其视为类似 HashMap 或键值对的东西。

下一个是数组或类似数组的对象,可以是所有键都是数字的javascript对象,也可以是arguments类型的对象。

关于如何通过:

对于 g.nodes 你可以这样做:

for(var key in g.nodes){
var value = g.nodes[key];
console.log(typeof value);
}

对于数组你最好不要使用第一种迭代方法,因为除了数组的实际数据之外,它还可以迭代 Array.prototype 中定义的所有其他属性,例如,如果你添加这个:

Array.prototype.myarray_prop = 1;

如果你使用 for(var key in obj) 方法,除了实际的数组值之外,myarray_prop 将显示为一个键,就当我们通常使用数组我们想要迭代数组的实际值,而不是这些额外的 Prop ,使用 for(var key in obj);

不是一个好主意

所以对于 g.edges 你最好这样做:

for(var i=0;i<g.edges.length;i++){
var edge = g.edges[i];
console.log(typeof edge);
}

关于Javascript:这是什么数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20816996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com