Длина массива - это не функция, а свойство.
for (let i = 0; i < this.bill.length; i++)
Вам также необходимо вызвать функцию tipCalc
перед регистрацией массивов.
billValue.tipCalc();
console.log(billValue.tipArray);
console.log(billValue.totalArray);
Вам также необходимо использовать this
, чтобы квалифицировать доступ к свойствам объекта и заключить все ваши варианты переключения в блоки, поскольку переменные не могут быть повторно объявлены в том же блоке с помощью let. Исправленный код выглядит следующим образом:
let billValue = {
tipArray: [],
totalArray: [],
bill: [124, 48, 268, 180, 42],
tipCalc: function() {
for (let i = 0; i < this.bill.length; i++) {
switch (true) {
case this.bill[i] < 50:{
let tipValue = (20 / 100) * this.bill[i];
let totalValue = tipValue + this.bill[i];
this.tipArray.push(tipValue);
this.totalArray.push(totalValue);
break;}
case this.bill[i] > 50 && this.bill[i] < 200:{
let tipValue = (15 / 100) * this.bill[i];
let totalValue = tipValue + this.bill[i];
this.tipArray.push(tipValue);
this.totalArray.push(totalValue);
break;}
case this.bill[i] > 200:{
let tipValue = (10 / 100) * this.bill[i];
let totalValue = tipValue + this.bill[i];
this.tipArray.push(tipValue);
this.totalArray.push(totalValue);
break;}
default:
}
}
}
}
billValue.tipCalc();
console.log(billValue.tipArray);
console.log(billValue.totalArray);