数组筛选和排序

Posted EdisonVan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组筛选和排序相关的知识,希望对你有一定的参考价值。

涉及javascript基本语法、事件、DOM相关的知识。

<h3>污染城市列表</h3>
    <ul id="aqi-list">
    </ul>

    <script type="text/javascript">
        var aqiData = [
            ["北京", 90],
            ["上海", 50],
            ["福州", 10],
            ["广州", 50],
            ["成都", 90],
            ["西安", 100],
            ["长沙", 88],
        ];

        (function() {
            /*
            在注释下方编写代码
            遍历读取aqiData中各个城市的数据
            将空气质量指数大于60的城市显示到aqi-list的列表中
            */
            //筛选符合条件的数组并构成新的数组newArr
            var newArr = [];
            for (var i = 0, j = aqiData.length; i < j; i++) {
                if (aqiData[i][1] > 60) { //数组 var aqiData = [ ["北京", 90]]中要取90用:aqiData[i][1]
                    newArr.push([aqiData[i][0], aqiData[i][1]]);
                }
            }
            // 数组大到小排序
            newArr.sort(function(a, b) {
                return b[1] - a[1];
            })
            var all = "";
            for (var i = 0, j = newArr.length; i < j; i++) {
                //名次中文化
                var rank = i + 1
                switch (rank) {
                    case 1:
                        rank_number = "";
                        break;
                    case 2:
                        rank_number = "";
                        break;
                    case 3:
                        rank_number = "";
                        break;
                    default:
                        rank_number = "前三以外忽略不计";
                        break;
                }
                //添加文本
                all += "<li>第" + rank_number + "" + ":" + newArr[i][0] + " " + newArr[i][1] + "</li>";
                var ul = document.getElementById(\'aqi-list\');
                ul.innerhtml = all;
            }
        })();
    </script>

关于升序排列和降序排列

var test = [6, 2, 10];
test.sort(function(a, b) {
    return a - b;         //实在不懂可以联想负数在前,正数在后,前减后升序、后减前降序
});
console.log(test); //[2, 6, 10]

 function(a,b) 比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个之后则返回一个正数。

以上是关于数组筛选和排序的主要内容,如果未能解决你的问题,请参考以下文章

iOS小技能:对象数组按照日期分组和排序,使用块代码实现数组排序和乱序。

javascript 常见数组操作( 1数组整体元素修改 2 数组筛选 3jquery 元素转数组 4获取两个数组中相同部分或者不同部分 5数组去重并倒序排序 6数组排序 7

静态刷新页面来完成筛选以及数组排序,这是正确的姿势吗?(下)

markdown 数组排序片段

用于自动筛选排序 SortFields 的 VBA 不使用其他列排序进行排序

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段