包含 for 回圈并在函式 checkCashRegister 中呼叫的函式“reversedcurrConvert”僅從索引 1 開始作業。奇怪的是,它不適用于 cid[0][0] 的索引 0。無法理解可能導致這種行為的原因。
function reversedcurrConvert(cid) {
for (let i = 0; i < cid.length; i ) {
if (i = 0) {
cid[i][0] = "PENNY"
}
if (i = 1) {
cid[i][0] = "NICKEL"
}
if (i = 2) {
cid[i][0] = "DIME"
}
if (i = 3) {
cid[i][0] = "QUARTER"
}
if (i = 4) {
cid[i][0] = "ONE"
}
if (i = 5) {
cid[i][0] = "FIVE"
}
if (i = 6) {
cid[i][0] = "TEN"
}
if (i = 7) {
cid[i][0] = "TWENTY"
}
if (i = 8) {
cid[i][0] = "ONE HUNDRED"
}
}
return cid
}
function checkCashRegister(price, cash, cid) {
let change = {}
cid[0][0] = 0.01;
cid[1][0] = 0.05;
cid[2][0] = 0.1;
cid[3][0] = 0.25;
cid[4][0] = 1;
cid[5][0] = 5;
cid[6][0] = 10;
cid[7][0] = 20;
cid[8][0] = 100;
change['status'] = "CLOSED"
change['change'] = reversedcurrConvert(cid)
return change
}
console.log(checkCashRegister(19.5, 20, [
["PENNY", 0.5],
["NICKEL", 0],
["DIME", 0],
["QUARTER", 0],
["ONE", 0],
["FIVE", 0],
["TEN", 0],
["TWENTY", 0],
["ONE HUNDRED", 0]
]));
uj5u.com熱心網友回復:
您必須在回圈中使用的第一個問題,i == x而不是i = x. 第二個問題你做了很多不必要的if。這是示例如何使用物件作為映射輕松設定值
function reversedcurrConvert(cid) {
const banknoteName = {
0: 'PENNY',
1: 'NICKEL',
2: 'DIME',
3: 'QUARTER',
4: 'ONE',
5: 'FIVE',
6: 'TEN',
7: 'TWENTY',
8: 'ONE HUNDRED',
};
for (let i = 0; i < cid.length; i) {
cid[i][0] = banknoteName[i];
}
return cid;
}
function checkCashRegister(price, cash, cid) {
let change = {}
cid[0][0] = 0.01;
cid[1][0] = 0.05;
cid[2][0] = 0.1;
cid[3][0] = 0.25;
cid[4][0] = 1;
cid[5][0] = 5;
cid[6][0] = 10;
cid[7][0] = 20;
cid[8][0] = 100;
change['status'] = 'CLOSED';
change['change'] = reversedcurrConvert(cid);
return change
}
console.log(checkCashRegister(19.5, 20, [
["PENNY", 0.5],
["NICKEL", 0],
["DIME", 0],
["QUARTER", 0],
["ONE", 0],
["FIVE", 0],
["TEN", 0],
["TWENTY", 0],
["ONE HUNDRED", 0]
]));
PS我真的不明白為什么你第一次設定數字cid[x][0]然后設定string回圈for。當你傳遞cid給reversedcurrConvert函式時,你傳遞指向這個陣列的指標而不是它的副本,如果你不知道的話。因此,當您更改函式中的值時,reversedcurrConvert您也會更改函式中cid的值checkCashRegister。因此,您可以在呼叫reversedcurrConvert函式之前設定此字串而無需回圈
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/449395.html
標籤:javascript 功能 for循环
上一篇:有序對的陣列索引
