Есть код:
var coinsProfit = {
"etf_china": {
"plus": 100,
"minus": -50
},
"red_etf_china": {
"plus": 100,
"minus": -50
},
"etf_america": {
"plus": 100,
"minus": -40
},
"red_etf_america": {
"plus": 100,
"minus": -40
},
"bitcoin": {
"plus": 2000,
"minus": -30
},
"red_bitcoin": {
"plus": 2000,
"minus": -30
},
"dollar": {
"plus": 60,
"minus": -200
},
"red_dollar": {
"plus": 60,
"minus": -200
},
"eu": {
"plus": 80,
"minus": -40
},
"red_eu": {
"plus": 80,
"minus": -40
},
"gbr": {
"plus": 555,
"minus": -20
},
"red_gbr": {
"plus": 555,
"minus": -20
},
"rub": {
"plus": 666,
"minus": -50
},
"red_rub": {
"plus": 666,
"minus": -50
},
"yen": {
"plus": 222,
"minus": -30
},
"red_yen": {
"plus": 222,
"minus": -30
},
"etf_gold": {
"plus": 777,
"minus": -35
},
"red_etf_gold": {
"plus": 777,
"minus": -35
},
"etf_IT": {
"plus": 888,
"minus": -11
},
"red_etf_IT": {
"plus": 888,
"minus": -11
},
"etf_usa": {
"plus": 73,
"minus": -88
},
"red_etf_usa": {
"plus": 73,
"minus": -88
},
"etf_japan": {
"plus": 200,
"minus": -98
},
"red_etf_japan": {
"plus": 200,
"minus": -98
}
};
var coinsDataList = Object.keys(this.coinsProfit);
function plus(coinRandom) {
getEquelsCoin(coinRandom);
};
function minus(coinRandom) {
getEquelsCoin(coinRandom, 'minus');
};
function getEquelsCoin(coinRandom, sign = 'plus') {
for (var key in coinsProfit) {
if (key == coinRandom) {
coinsProfit[key].plus;
if (sign == 'plus') {
return coinsProfit[key].plus;
} else {
return coinsProfit[key].minus;
}
}
}
};
let count = 0;
coinRandom = coinsDataList[Math.floor(Math.random() * coinsDataList.length)];
count += plus(coinRandom);
UPD: Если в функцию записать
console.log(coinsProfit[coinRandom].plus);
return coinsProfit[coinRandom].plus;
То выводится число, сама же функция в момент вызова почему-то возвращает undefined.
function getEquelsCoin (coinRandom, sign = 'plus') {
return coinsProfit[coinRandom] ? coinsProfit[coinRandom][sign] : undefined;
};
если 2 аргумент не передаш в getEquelsCoin
то будет то что по умолчанию
У вас было несколько ошибок. Самая главная ошибка, вы забыли return
.
Посмотрите пример с комментариями.
var coinsProfit = {
"etf_china": {
"plus": 100,
"minus": -50
},
"red_etf_china": {
"plus": 100,
"minus": -50
},
"etf_america": {
"plus": 100,
"minus": -40
},
"red_etf_america": {
"plus": 100,
"minus": -40
},
"bitcoin": {
"plus": 2000,
"minus": -30
},
"red_bitcoin": {
"plus": 2000,
"minus": -30
},
"dollar": {
"plus": 60,
"minus": -200
},
"red_dollar": {
"plus": 60,
"minus": -200
},
"eu": {
"plus": 80,
"minus": -40
},
"red_eu": {
"plus": 80,
"minus": -40
},
"gbr": {
"plus": 555,
"minus": -20
},
"red_gbr": {
"plus": 555,
"minus": -20
},
"rub": {
"plus": 666,
"minus": -50
},
"red_rub": {
"plus": 666,
"minus": -50
},
"yen": {
"plus": 222,
"minus": -30
},
"red_yen": {
"plus": 222,
"minus": -30
},
"etf_gold": {
"plus": 777,
"minus": -35
},
"red_etf_gold": {
"plus": 777,
"minus": -35
},
"etf_IT": {
"plus": 888,
"minus": -11
},
"red_etf_IT": {
"plus": 888,
"minus": -11
},
"etf_usa": {
"plus": 73,
"minus": -88
},
"red_etf_usa": {
"plus": 73,
"minus": -88
},
"etf_japan": {
"plus": 200,
"minus": -98
},
"red_etf_japan": {
"plus": 200,
"minus": -98
}
};
var coinsDataList = Object.keys(this.coinsProfit);
function plus(coinRandom) {
return getEquelsCoin(coinRandom); // Не было слова return
};
function minus(coinRandom) {
return getEquelsCoin(coinRandom, 'minus'); // Не было слова return
};
function getEquelsCoin(coinRandom, sign = 'plus') {
if (coinsProfit[coinRandom])
return coinsProfit[coinRandom][sign];
else
throw new Error(`${coinRandom} not found`);
};
let count = 0;
coinRandom = coinsDataList[Math.floor(Math.random() * coinsDataList.length)];
console.log(plus(coinRandom))
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
стоит задача на гугл карте сделать анимацию полета самолетовКак сделать анимацию из одной точки во вторую я знаю:
Вот есть код в чате с формой и отправкой аякс запроса по нажатию на кнопкуНО увы ничего не происходит