gpt4 book ai didi

javascript - 尝试创建一个小费计算器

转载 作者:行者123 更新时间:2023-11-30 13:50:24 26 4
gpt4 key购买 nike

我正在尝试创建一个使用方法和循环的小费计算器。在循环中,我有一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com