Использование метода в объекте не даст мне значения - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь выполнить простое, нереалистичное упражнение, которое вычисляет налог из счетов и сохраняет их в массивах вместе с другим массивом, который включает итоговые значения.

Я действительно не знаю, почему этот метод не работает. Примечательно, что я могу заставить функции работать вне объекта (и решить мою проблему), но независимо от того, когда я использую методы в этом или любом другом случае, они просто не будут работать внутри объектов. Обычно я ожидал бы иметь массив 'tax' и массив 'finalValues'. Ничто не дает мне ошибок, но и не запускает.

Итак, я разместил это здесь, чтобы понять почему, потому что это действительно сводит меня с ума: D

ps: я использую mdn, w3school для ресурсов, но также и udemy. Я использую Visual Code Studio, чтобы написать что-нибудь (но также пробовал скобки для этого). Для тестирования я использовал mozilla и chrome, а также кодовое перо.

var stavros = {
    fullName: 'Stavros Vas',
    bills: [124, 48, 268, 180, 42],
    calcTips: function() {
        this.tax = [];
        this.finalValues = [];

        for (var i = 0; i < this.bills.length; i++) {
            
            var percentage;
            var bill = this.bills[i];

            if (bill < 50) {
                percentage = 0.1;
            } else if (bill >= 50 && bill < 200) {
                percentage = 0.15;
            } else {
                percentage = 0.2;
            }

            this.tax[i] = bill * percentage;
            this.finalValues[i] = bill + bill * percentage;
        }
    }
};

console.log(stavros);

Спасибо!

1 Ответ

0 голосов
/ 07 ноября 2018

Ваш код работает, просто выполните его stavros.calcTips()

var stavros = {
    fullName: 'Stavros Vas',
    bills: [124, 48, 268, 180, 42],
    calcTips: function() {
        this.tax = [];
        this.finalValues = [];

        for (var i = 0; i < this.bills.length; i++) {
            
            var bill = this.bills[i];

            if (bill < 50) {
                percentage = 0.1;
            } else if (bill >= 50 && bill < 200) {
                percentage = 0.15;
            } else {
                percentage = 0.2;
            }

            this.tax[i] = bill * percentage;
            this.finalValues[i] = bill + bill * percentage;
        }
    }
};
stavros.calcTips(); // added
console.log(stavros);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...