Javascript 为什么可以';对.keys()的结果调用.join()?
我在HTML文件中编写了以下JS代码:Javascript 为什么可以';对.keys()的结果调用.join()?,javascript,arrays,key,Javascript,Arrays,Key,我在HTML文件中编写了以下JS代码: <script> x=[]; x["abc"]={ a:1, b:2 } x["def"]={ a:234, b:5655 } keyArrayX=x.keys(); console.log(keyArrayX.join()); </script> 但是keys()的结果是一个数组,所以我不明白这里出了什么问题。我的目标是返回数组中所有键的串联字符串,在本例中,它是: abc,def “但是ke
<script>
x=[];
x["abc"]={
a:1,
b:2
}
x["def"]={
a:234,
b:5655
}
keyArrayX=x.keys();
console.log(keyArrayX.join());
</script>
但是keys()
的结果是一个数组,所以我不明白这里出了什么问题。我的目标是返回数组中所有键的串联字符串,在本例中,它是:
abc,def
“但是keys()的结果是一个数组”
keys()
的返回值不是数组。据
返回值一个新的数组迭代器对象 如果需要键,请使用
Object.keys()
设x=[];
x[“abc”]={
答:1,,
b:2
}
x[“def”]={
a:234,
b:5655
}
keyArrayX=对象。键(x);
log(keyarayx.join())代码>请使用而不是x.keys()
另外,var x={}
对于字典也是正确的
设x={};
x[“abc”]={
答:1,,
b:2
}
x[“def”]={
a:234,
b:5655
}
设keyarayx=Object.keys(x);
log(keyarayx.join())代码>您必须使用Object.keys(x)
x=[];
x[“abc”]={
答:1,,
b:2
}
x[“def”]={
a:234,
b:5655
}
keyArrayX=对象。键(x);
log(keyarayx.join())代码>是否确实要在数组而不是对象中设置键
x={}
x.abc = {};// will be the ideal way
x.def= {};
然后获取keysObject。keys(x)
应该是获得键映射的方法
它应该记录[“abc”,“def”]
对象。键
应在x
上工作,无论其作为数组或对象进行赋值。不要将非整数键添加到数组中。相反,将x
设为对象x={}
并使用object.keys(x)
。
x={}
x.abc = {};// will be the ideal way
x.def= {};