Это функция:
function exchangeScore(players) {
for (let i = 0; i < listItem.length; i++) {
for (let j = 0; j < listItem.length - i - 1; j++) {
if (listItem[j].harga < listItem[j + 1].harga) {
var tmp = listItem[j]
listItem[j] = listItem[j + 1]
listItem[j + 1] = tmp
}
}
}
let output = []
for (let i = 0; i < players.length; i++) {
let person = {}
person.name = players[i].name
person.items = []
person.points = players[i].points
output.push(person)
}
for (let i = 0; i < output.length; i++) {
var k = 0
while (output[i].points > 0 && listItem[k].stock > 0) {
if (output[i].points >= listItem[k].harga && listItem[k].stock > 0) {
output[i].items.push(listItem[k].name)
listItem[k].stock--
output[i].points -= listItem[k].harga
}
k++
}
}
return output
}
let listItem = [
{name: "Teddy Bear", harga: 1000, stock:1},
{name: "Toy Soldier", harga: 200, stock: 5},
{name: "Ducky", harga: 500, stock: 3},
{name: "Bunny", harga: 300, stock: 2},
{name: "Buzz Lightyear", harga: 2000, stock: 1}]
console.log(exchangeScore([
{name: "Yanto Kopling", points:100},
{name: "Audric", points: 300},
{name: "Ayu", points: 1000},
{name: "Semmi", points:1000},
{name: "Mahdi", points: 2000},
{name: "Sofyan", points: 2000}
]));
Функция продолжает возвращать "Ошибка типа: Не удается прочитать свойство 'stock' с неопределенным значением на exchangeScore (/home/runner/MotherlyYummyTest/index.js:31:45) «пока я думаю, что должен определить все переменные. У вас есть идеи по поводу этой проблемы?