如何sort()使用javascript从API返回json数据

问题描述 投票:-2回答:1

enter image description here我知道这类问题已经得到答案,但我无法找到适合我情况的答案,我从api获取json数据,然后我需要进入一个选择,我想在之前排序。

getCurrency(){

        fetch('https://free.currencyconverterapi.com/api/v5/currencies')
        .then(response => response.json())
        .then(data => {
            const fromcurrencySelect = selectid('fromcurrency');
            const tocurrencySelect = selectid('tocurrency');

            var x;
            for (x in data.results) {

                const currencyName = data.results[x].currencyName;
                const currencyID = data.results[x].id  ;

                /*  */
                const option = createEle('option');
                option.value =  currencyID.sort() ;
                append(option, TextNode(currencyName.sort()) );
                append(fromcurrencySelect,option);

                const option2 = createEle('option');
                option2.value =  currencyID ;
                append(option2, TextNode(currencyName) );
                append(tocurrencySelect,option2);


            }
        })
        .catch(error => {  clog(error); })

    }

这是我的助手功能

function clog(message){
    return console.log(message);
}


function selectid(id){
    return document.getElementById(id);
}


function querysel(element){
    return document.querySelector(element);
}

function append(parent,element){
    return parent.appendChild(element);
}

function createEle(element){
    return document.createElement(element);           
}

function TextNode(element){
    return document.createTextNode(element);  
}

我是javascript的初学者,对由此造成的不便表示歉意,我们将不胜感激。

javascript json
1个回答
0
投票

您可以编写一个比较函数来使用对象上的属性对对象进行排序,如下所示:

data.results.sort(function(a, b){return a.currencyName- b.currencyName});

数组上的sort()方法接受一个比较函数,更多地了解它here

© www.soinside.com 2019 - 2024. All rights reserved.