Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Тернарный оператор при выводе API данных (https://javascript.ru/forum/dom-window/78722-ternarnyjj-operator-pri-vyvode-api-dannykh.html)

DVV 25.10.2019 22:25

а как? и как заменить null на пробел, если данных нет

рони 25.10.2019 22:27

DVV,
${....||""}

рони 25.10.2019 22:30

DVV,
нет data?
тогда
data && data.forEach(coin => { ...

laimas 25.10.2019 22:31

Цитата:

Сообщение от DVV
а как?

Ну как, через CSS ячейке этой определите цвет зеленый, а далее как рони прописал, добавляя или нет имя класса, при наличии которого цвет ее будет красный.

DVV 25.10.2019 22:33

function exchangeDataShow() {
        fetch('https://api.coinmarketcap.com/v1/ticker/?limit=20')
        .then( (responce) => {
            return responce.json();
        })
        .then( (data) => {
            let output = ' ';
            
            data && data.forEach(coin => {
                let rateChangeHour = coin.percent_change_1h < 0 ? 'rate-red' : 'rate-green';
                let rateChangeDay = coin.percent_change_24h < 0 ? 'rate-red' : 'rate-green';
                let rateChangeWeek = coin.percent_change_7d < 0 ? 'rate-red' : 'rate-green';
                output += `
                    <tr>
                        <td>${coin.rank}</td>
                        <td>${coin.name}</td>
                        <td>${coin.price_usd}</td>
                        <td>${coin['24h_volume_usd']}</td>
                        <td>${coin.market_cap_usd}</td>
                        <td>${coin.total_supply}</td>
                        <td>${coin.max_supply}</td>
                        <td class="${rateChangeHour}">${coin.percent_change_1h}%</td>
                        <td class="${rateChangeDay}">${coin.percent_change_24h}%</td>
                        <td class="${rateChangeWeek}">${coin.percent_change_7d}%</td>
                    </tr>
                `; 
            });

            document.getElementById('market-data').innerHTML = output;
            
        })
        .catch( (err) => {
            console.log(err);
        });
    }

    window.onload = exchangeDataShow();

    setInterval(() => {
        console.log('reload');
        exchangeDataShow();
    }, 5000);


null все равно выводится

DVV 25.10.2019 22:35

Сделал, через тернарный оператор получилось

DVV 25.10.2019 22:36

А это куда прописывать?

рони 25.10.2019 22:42

laimas,
можно код?

laimas 25.10.2019 22:44

Цитата:

Сообщение от рони
можно код?

Чего?

рони 25.10.2019 22:44

DVV,
<td>${coin.max_supply||""}</td>


Часовой пояс GMT +3, время: 04:20.