尝试搜索但没有运气。我是 JS 新手,肯定我错过了一些简单的东西。试图找出为什么,当我发布到控制台时,我的数组显示为空 - 即使至少有一个属性值对。
function getCash(denom,value){
if (change>value&&cashRegister[denom]>=value){
change-=value;
cashRegister[denom]-=value;
cashRegister[denom]=cashRegister[denom].toFixed(2);
if (changeBack[denom]==undefined) changeBack[denom] =0;
changeBack[denom]+=value;
// Below shows "changeBack[denom]=QUARTER 0.25" as expected
console.log("changeBack[denom]="+denom+" "+changeBack[denom]);
//Below shows "changeBack=" I expected to see the object, tried to stringify but still empty.
console.log("changeBack="+changeBack);
}
}
最佳答案
JS 中的数组(主要)是数值数组,而不是关联数组。 这就是您的 key 不显示在记录器中的原因。
但是由于 JS 非常灵活,并且 JS 中的数组继承自 Object,因此您可以向它们添加任意键。仍然没有使它们成为关联数组。
因此,使用对象 {}
作为关联数组。
并且不要连接字符串和其他值来记录它们。使用多个参数:console.log("changeBack", changeBack);
,以便您可以检查控制台中的每个值。
关于Javascript 数组显示单个属性的值,但不显示完整数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524069/