在forEach循环内按字母顺序排序元素

时间:2015-06-15 08:04:57

标签: javascript

数据是指csv文件。每个数据记录都有一个主题。我的目标是每个主题绘制一个图表,但我希望图表按字母顺序排序。

有没有api为我这样做?

data.subjects.forEach(function (subject) {
    //draw chart for subject
    renderChart(subject.name, subject.scores);
}

1 个答案:

答案 0 :(得分:1)

  

我希望图表按字母顺序排序

假设您的data.subjects是一个数组,您可以这样做:

data.subjects.sort(function(a, b){
    if(a.name< b.name) return -1;
    if(a.name> b.name) return 1;
    return 0;
})

注意可以通过以下方法解决的lowerCase问题:

data.subjects.sort(function(a, b){
        var m1 = a.name.toLowerCase();
        var m2 = b.name.toLowerCase();
        if(m1< m2) return -1;
        if(m1> m2) return 1;
        return 0;
    })