gpt4 book ai didi

javascript - 如何在 Javascript 中镜像哈希功能?

转载 作者:行者123 更新时间:2023-11-28 13:32:43 24 4
gpt4 key购买 nike

我知道 Javascript 对象足够灵活,它们可以模仿常见的哈希数组功能(键作为字符串,值作为原始类型,能够按键/值循环)...

我有这个例子,但我不明白为什么它不起作用:

var hash = {
'a' : '',
'b' : '',
'c' : '',
}

其中一个值的初始化如下:

hash['a'] = 5;

然后我尝试循环它们:

var keys = Object.keys(hash);
for(var i in keys){
console.log(hash[i]);
}

结果是 3 '未定义'。

为什么会发生这种情况?

最佳答案

您遇到的问题是您正在迭代 Object.keys 数组的键(这些键是整数 0、1、2...),并且您尝试获取属性使用这些整数的hash

这里不需要Object.keys:

for(var i in hash){
console.log(hash[i]);
}

如果您确实想使用Object.keys,请迭代数组的元素:

var keys = Object.keys(hash);
for(var i=0; i<keys.length; i++){
console.log(hash[keys[i]]);
}

Object.keys(hash).forEach(function(i){
console.log(hash[i]);
});

关于javascript - 如何在 Javascript 中镜像哈希功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23652933/

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