Javascript数组显示单个属性的值,但不显示完整数组

Javascript数组显示单个属性的值,但不显示完整数组,javascript,arrays,Javascript,Arrays,试图寻找,但没有成功。我是JS的新手,当然我错过了一些简单的东西。试图找出为什么当我发布到控制台时,我的数组显示为空-即使至少有一个属性-值对 function getCash(denom,value){ if (change>value&&cashRegister[denom]>=value){ change-=value; cashRegister[denom]-=value; cashRegister[den

试图寻找,但没有成功。我是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);


    }
  }

尝试将其作为单独的日志来执行,您将看到您的对象

console.log(changeBack);

尝试将其作为单独的日志来执行,您将看到您的对象

console.log(changeBack);
console.log(“changeBack=”+changeBack)
应该是
console.log(“changeBack=”,changeBack)

来自的附加上下文

带有对象的
+
(字符串连接运算符)将调用 对象上的
toString
方法,并将返回字符串。所以
''+object
相当于
object.toString()
。和
toString
打开 对象返回
“[对象对象]”

使用
将对象作为单独的参数传递给 方法

console.log(“changeBack=”+changeBack)
应该是
console.log(“changeBack=”,changeBack)

来自的附加上下文

带有对象的
+
(字符串连接运算符)将调用 对象上的
toString
方法,并将返回字符串。所以
''+object
相当于
object.toString()
。和
toString
打开 对象返回
“[对象对象]”

使用
将对象作为单独的参数传递给 方法

JS中的数组(主要)是数字数组,而不是关联数组。 这就是为什么你的钥匙没有显示在记录器中

但由于JS是灵活的,因为JS中的heck和数组继承自对象,所以您可以向它们添加任意键。仍然不能使它们成为关联数组

因此,使用对象
{}
作为关联数组

并且不要用concat字符串和其他值来记录它们。使用多个参数:
console.log(“changeBack”,changeBack)以便您可以检查控制台中的每个值。

JS中的数组(主要)是数字数组,而不是关联数组。 这就是为什么你的钥匙没有显示在记录器中

但由于JS是灵活的,因为JS中的heck和数组继承自对象,所以您可以向它们添加任意键。仍然不能使它们成为关联数组

因此,使用对象
{}
作为关联数组


并且不要用concat字符串和其他值来记录它们。使用多个参数:
console.log(“changeBack”,changeBack)以便您可以检查控制台中的每个值。

当我这样做时,我得到的是一个空数组“[]”当我这样做时,我得到的是一个空数组“[]”将调试器置于if条件下并进行检查,我认为条件没有得到满足。JS中的数组(主要)是数字数组,而不是关联数组。这就是为什么你的键没有显示在记录器中。将调试器设置为if条件并检查,我认为条件没有得到满足。JS中的数组(主要)是数字数组,而不是关联数组。这就是为什么你的按键没有显示在日志中的原因。假设你在Chrome中运行这个,添加一个
调试器(或断点),然后按F10直到出现错误,并将鼠标悬停在对象上以确保其具有您认为应该具有的值假设您在Chrome中运行此操作,则添加一个
调试器(或断点),然后按F10键,直到出现错误,然后将鼠标悬停在该对象上,以确保该对象具有您认为应该更改为object的值,并且现在一切正常。谢谢。对changeBack={}的“changeBack”声明;更改为object,现在一切正常。谢谢。对changeBack={}的“changeBack”声明;