我需要通过对象nodeIDs
进行迭代,找到特定值的关键索引。
private getNodeIndexByID(nodeIDs, id) {
for (const [key, value] of Object.entries(nodeIDs)) {
if (id === value) {
return key;
}
}
}
返回的密钥是数字 ..现在我构建了一个新对象,其中保存了键索引
const index_source = this.getNodeIndexByID(nodeIDs, obj.source);
const index_target = this.getNodeIndexByID(nodeIDs, obj.target);
let my_obj = Object.create({}, { source: { value: index_source }, target: { value: index_target } });
out.push(my_obj);
现在out.source
和out.target
的值是typeOf STRING ..为什么? ..我的意思是,数组索引是数字..
我错过了什么? ..我需要它们是数字。
答案 0 :(得分:1)
JavaScript对象的键是总是(总是!)字符串,即使它们是使用数字键写入的。
换句话说,
x[0] = 1
与
完全相同x["0"] = 1
如果您正在计算对象的键/值对,您将看到字符串键,因为JavaScript对象的键始终是字符串。