如何获取javascript对象集合的值?

如何获取javascript对象集合的值?,javascript,object,key-value,Javascript,Object,Key Value,当显示消息时,对象集合中有一个未定义的值 我应该获取值并显示它 有没有人知道问题出在哪里,或者我可能遗漏了什么 链接完整代码- 谢谢 常数率值=[{ 关键:英镑, 数值:1.30, }, { 关键:欧元, 数值:1.30, }, { 关键:日元,, 价值:142.72, }, { 关键:袁,, 数值:8.95, }, { 关键字:瑞士法郎, 价值:1.26, }, { 关键:加元, 价值:1.69, }, ]; 函数getCurrency{ 让cur_type=document.getElem

当显示消息时,对象集合中有一个未定义的值

我应该获取值并显示它

有没有人知道问题出在哪里,或者我可能遗漏了什么

链接完整代码-

谢谢

常数率值=[{ 关键:英镑, 数值:1.30, }, { 关键:欧元, 数值:1.30, }, { 关键:日元,, 价值:142.72, }, { 关键:袁,, 数值:8.95, }, { 关键字:瑞士法郎, 价值:1.26, }, { 关键:加元, 价值:1.69, }, ]; 函数getCurrency{ 让cur_type=document.getElementById'currences'.value.trim //trim方法删除空白并呈现干净的最佳字符串 让msg=cur\u type?一美元购买+费率值[cur\u type]++cur\u type: document.getElementByIdexchangerate.innerHTML=msg } //事件处理程序-在从下拉列表中选择值时使用的位置。 window.onload=函数{ 获取货币; }; 货币对美元汇率 选择一种货币 英镑 欧元 日元 元 瑞士法郎 加元

ratesValue是对象数组,因此您必须过滤数组以通过键获得所需的对象

所以像这样改变这个函数

const value = ratesValue.find(item=>item.key === cur_type).value;
let msg = cur_type ? "One US Dollar buys you " + value + " " + cur_type : ""
您的问题是ratesValue是一个包含对象的数组。要访问数组中的项,您需要通过它们的索引来访问它们。当前,您正试图使用非数字字符串值访问数组中的值,因此将无法定义。相反,您可以使用接受函数作为参数的方法。将为ratesValue数组中的每个对象调用该函数。如果函数为给定项返回true,则.find的返回值将是该项。使用此思想,当给定项/对象的键属性等于选定值时,可以返回true:

const ratesValue=[{键:英镑,值:1.30,},{键:欧元,值:1.30,},{键:日元,值:142.72,},{键:元,值:8.95,},{键:瑞士法郎,值:1.26,},{键:加拿大元,值:1.69,},]; 函数getCurrency{ const cur_type=document.getElementById'currences'.value.trim; const rateObj=ratesValue.findobj=>obj.key==cur_type; const msg=cur_type?一美元买你+rateObj.value++cur_type:; document.getElementByIdexchangerate.innerHTML=msg; } 货币对美元汇率 选择一种货币 英镑 欧元 日元 元 瑞士法郎 加元