我正在尝试构建一个JS对象,这样当我将一个密钥(帐号)传递给我的函数时,它会返回相应的值(帐户余额)。但是当我运行代码时,它会给出undefined。
<!DOCTYPE html>
<html>
<title>Web Page Design</title>
<head>
<script>
var accountNumbers = {};
acccountNumbers = {
"100002149056": 250000.23,
"100002149056": 11234567.98,
"100027837199": 100000.98,
"100027837289": 9567.98,
"100027837299": 34567.98
}
function returnBalance(accountNo){
var balance = 0.000;
for (var acn in accountNumbers){
if(accountNumbers.hasOwnProperty(acn)){
balance = accountNumbers[acn];
break;
}
return balance;
}
}
console.log("Balance in acount no 100002149056 is: " +returnBalance("100002149056"));
</script>
</head>
<body>
</body>
</html>
有人可以指出我做错了什么吗?
答案 0 :(得分:1)
var accountNumbers = {"100002149056": 250000.23,
"100002149056": 11234567.98,
"100027837199": 100000.98,
"100027837289": 9567.98,
"100027837299": 34567.98};
function returnBalance(accountNo){
var balance = accountNumbers[accountNo];
if(!balance)
balance = 0.000;
return balance;
}
console.log("Balance in account no 100027837299 is: " +returnBalance("100027837299"));
&#13;
答案 1 :(得分:0)
这里创建了两个对象:
acccountNumbers
和accountNumbers
。拼写错误导致此问题。
此外,代码没有意义。请解释一下你在这里想要达到的目标。下面的代码会给你一些有意义的东西,但它可以改进,因为不需要循环。
function returnBalance(accountNo){
var balance = 0.000;
for (var acn in accountNumbers){
if(accountNumbers.hasOwnProperty(accountNo)){
balance = accountNumbers[accountNo];
break;
}
}
return balance;
}
答案 2 :(得分:0)
有人可以指出我做错了什么吗?
多件事
您将从for-loop
返回,此语句将在第一次迭代后执行。
您根本没有检查参数accountNo
。
只是做到了
function returnBalance(accountNo){
return accountNumbers[ accountNo ] || 0.000;
}
答案 3 :(得分:0)
循环整个对象是错误的,只需检查对象是否包含您想要的密钥(在您的情况下为帐号),然后相应地返回该值。
function returnBalance(accountNo) {
var balance = 0.000;
if (acccountNumbers.hasOwnProperty(accountNo))
balance = acccountNumbers[accountNo];
return balance;
}
答案 4 :(得分:0)
你在for循环中返回,一旦你打电话打破它就跳过你的return语句。这里我在for循环之外移动了return语句。
Uncaught ReferenceError: jQuery is not defined
at jquery-ui-1.10.2.js:314
(anonymous) @ jquery-ui-1.10.2.js:314
chosen.jquery.min.js:2 Uncaught ReferenceError: jQuery is not defined
at chosen.jquery.min.js:2
at chosen.jquery.min.js:2
(anonymous) @ chosen.jquery.min.js:2
(anonymous) @ chosen.jquery.min.js:2
(index):144 Uncaught TypeError: $(...).autocomplete is not a function
at HTMLDocument.<anonymous> ((index):144)
at fire (jquery-1.10.2.js:3062)
at Object.fireWith [as resolveWith] (jquery-1.10.2.js:3174)
at Function.ready (jquery-1.10.2.js:447)
at HTMLDocument.completed (jquery-1.10.2.js:118)