Sum 没有返回预期的结果

Thá*_*Sơn 1 javascript

var cid = [["PENNY", 2], ["NICKEL", 2], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]];

var cur = {"PENNY": 0.01, "NICKEL": 0.05, "DIME": 0.1, "QUARTER": 0.25, "ONE": 1, "FIVE": 5, "TEN": 10, "TWENTY": 20, "ONE-HUNDRED":100 }
    
var sum = 0;

  for (var i = 0; i < cur.length; i++) {
    sum += cur[cid[i][0]] * cid[i][1] 
  }
console.log(sum);
Run Code Online (Sandbox Code Playgroud)

我曾尝试过很多办法像添加变量cur[cid[i][0]]cid[i][1]随后console.log的总和,但它仍然无法正常工作。有人能告诉我我错在哪里吗?

wan*_*v87 5

有2个问题。

  • 输入错误cid。应该是“一百”
  • 使用Object.keys(cur).length代替cur.length。参考Object.keys()

var cid = [["PENNY", 2], ["NICKEL", 2], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 20], ["TWENTY", 60], ["ONE-HUNDRED", 100]];

var cur = {"PENNY": 0.01, "NICKEL": 0.05, "DIME": 0.1, "QUARTER": 0.25, "ONE": 1, "FIVE": 5, "TEN": 10, "TWENTY": 20, "ONE-HUNDRED":100 }
    
var sum = 0;

for (var i = 0; i < Object.keys(cur).length; i++) {
  sum += cur[cid[i][0]] * cid[i][1] 
}
console.log(sum);
Run Code Online (Sandbox Code Playgroud)