卡在 Javascript 中的对象上
Stuck on Objects in Javascript
说明
完成canIGet
功能。此函数应:
- 取两个参数:
-
item
:代表用户想要购买的东西 -
money
:表示用户拥有多少美元 - 如果用户可以根据下面的价格图表买得起给定的项目,则返回
true
,否则返回 false:- "MacBook Air" - 999 美元
- MacBook Pro' - $1299
- "Mac Pro" - 2499 美元
- "苹果贴纸" - 1 美元
-
如果
item
不在上述 Apple 产品列表中,则返回false
在 0 个"如果"条件下执行此操作!(提示:将上面的价格表放在一个对象中)。
canIGet('MacBook Air', 100) // returns false
canIGet('MacBook Air', 1000) // returns true
我的代码
canIGet = function(item, money) {
var macItems = {
"MacBook Air": 999,
"MacBook Pro": 1299,
"Mac Pro": 2499,
"Apple Sticker": 1
}
return macItems.item >= money;
};
这将通过 JavaScript 控制台。但是,当我通过终端(摩卡测试)对其进行测试时,它会失败并产生以下结果:
终端结果
canIGet
✓ should be defined
1) returns the correct results for MacBook Air
2) returns the correct results for MacBook Pro
3) returns the correct results for Mac Pro
4) returns correct results for Apple Sticker
✓ returns false for non-Apple products
您可能希望使用括号表示法,因为您要传递字符串作为属性引用器:
return macItems[item] <= money;
如果您想测试负担能力,还要确保使用 <=
:
function canIGet(item, money) {
return {
"MacBook Air": 999,
"MacBook Pro": 1299,
"Mac Pro": 2499,
"Apple Sticker": 1
}[item] <= money;
}
console.log( canIGet("MacBook Air", 998) ); // false
如果您在解决任何类型的问题时遇到问题,请始终对其进行调试。简单的方法是使用 console.log()
问题是macItems.item不起作用,你需要使用macItems[item]表示法
。返回语句也有翻转的逻辑。 macItems.item 的价值应该低于传入返回 true 的钱,即 Air 成本 999,我有 1000 钱,等于 999>= 1000,这将返回 false。它应该被翻转以返回macItems[item] <=钱
带有调试信息的函数
canIGet = function(item, money) {
console.log(item)
console.log(money)
var macItems = {
"MacBook Air": 999,
"MacBook Pro": 1299,
"Mac Pro": 2499,
"Apple Sticker": 1
}
console.log(macItems[item])
return macItems[item] <= money;
};
相关文章:
- 面向对象JavaScript中的私有函数
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 将字符串转换为对象 javascript/jquery
- 正在检查对象javascript中是否存在嵌套属性
- 时间-日期对象JavaScript getUTCMilliseconds
- 仅在对象(javascript)中解析值
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 引用另一个对象javascript中的对象
- 如何删除列表中的对象?Javascript nodejs和下划线
- 无法从日期对象javascript获取日期和月份
- 如何在if语句中使用对象-Javascript
- 对象javascript错误
- 对象Javascript的少数实例
- 位置对象Javascript
- 将字符串传递到对象javascript中
- 获取对象Javascript或jQuery的最后一个值
- 鼠标接近对象Javascript
- 这个mixins代码是书中的错误吗;面向对象JavaScript的原理”;
- 使用闭包编译器编写更好的面向对象JavaScript完整示例代码
- 访问对象javascript数组中的对象属性值