作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个使用方法和循环的小费计算器。在循环中,我有一个 if 语句来计算小费的数量。如果我尝试将数据添加到对象内的空数组,程序将停止。
我已经尝试使用推送,但仍然无法正常工作。另一方面,如果我创建一个变量并将数据存储在那里并添加到最后添加它就可以了。我只是想了解为什么其他方式不起作用。
如果我有一个例子
let john = {
bills: [124, 48, 268, 180, 42],
tipCalc: function (){
this.tip = [];
this.total = [];
for (let i = 0 ; i < this.bills.length; i++) {
let bills = this.bills[i];
if (bills < 50) {
this.tip[i] = (.2 * bills);
this.total[i] = (this.tip[i] + bills);
}
}
}
如果我尝试过类似的方法,为什么它不起作用?
有没有人可以解释一下/
没有实际结果。如果我这样做,它就会起作用。
for (let i =0; i <this.bills.length; i++) {
let bills = this.bills[i];
let percentage;
if (bills < 50) {
percentage = .2
}
this.tip[i] = percentage * bills;
}
最佳答案
我想这就是你想要的您在 tipCalc
函数中调用了 this.tip = [] 和 this.total = [];
,但我没有看到您曾经声明过它。其次你没有调用你的tipCalc
函数
我用下面的方法解决
let john = {
bills: [124, 48, 268, 180, 42],
total: [],
tip: [],
tipCalc: function (){
for (let i = 0 ; i < this.bills.length; i++) {
let bills = this.bills[i];
if (bills < 50) {
this.tip.push(.2 * bills);
this.total.push(this.tip + bills);
}
}
}
}
john.tipCalc()
console.log(john.tip)
console.log(john.total)
首先我调用并执行你的函数,然后调用你的小费和总变量
希望对您有所帮助。如果您有任何困惑,请评论
更新的答案另一种完成方式
let john = {
bills: [124, 48, 268, 180, 42],
tipCalc: function (){
var total = [];
var tip = []
for (let i = 0 ; i < this.bills.length; i++) {
let bills = this.bills[i];
if (bills < 50) {
tip.push(.2 * bills);
total.push(tip + bills);
}
}
total = total.concat(tip);
return total
}
}
console.log(john.tipCalc())
关于javascript - 尝试创建一个小费计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58371370/
你好,我也是 Java 新手,正在学习如何构建 Android 应用程序。我有一个我一直在研究的计算器,我需要帮助来弄清楚如何为 EditText 设置值。当用户在 EditText 中输入 CA、O
我是一名优秀的程序员,十分优秀!