У меня есть этот код, используемый для получения нескольких часов от объекта и умножения их на переменную.javascript- Как проверить, является ли объект конкретным свойством
Вот объект «работа»
var work = [
{'day': 27, 'hours': 7.30},
{'day': 29, 'hours': 7.30},
{'day': 31, 'hours': 10},
{'day': 1, 'hours': 8.30},
{'day': 2, 'hours': 7},
{'day': 3, 'hours': 7},
{'day': 5, 'hours': 7.30},
{'day': 6, 'hours': 7},
{'day': 7, 'hours': 7.30},
{'day': 8, 'hours': 8},
{'day': 9, 'hours': 9.30}
]
var payPerHour = 7;
и вот моя функция для расчета зарплаты
function calculatePay()
{
var result = 0, fResult = 0;
for(var i = 0; i < work.length; i++) {
Object.keys(work).forEach(function (val) {
if (work[i].hasOwnProperty('hours'))
result = work[i][val] * payPerHour;
fResult += result;
});
}
return fResult;
}
Я использовал «hasOwnProperty», чтобы проверить, если свойство «часы» существует в работе , Результатом функции является NaN. Зачем?
'Object.keys (работа)': что вы ожидаете здесь? –
с ним для цикла i итерации по массиву, а затем с Object.keys (work) я просматриваю объект, который находится в массиве. –
@DavidDume - вам не нужно перебирать объект tho. – tymeJV