• 数组去重统计排序


    需求是:统计次数并按照要求排序;

    思路:

    第一步:拼接字符串,返回一个字符串数组;

    第二步 :查询数组,去重并统计次数;

    第三步:使用sort()函数进行排序;

    第四步:join()函数。把数组元素放到字符串中,的确很绕,学程序的没办法,多练习。

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>数组去重统计排序</title>
    <style>
    body {text-align:center;}
    </style>
    <script>
    window.onload=function (){
        var oBtn=document.getElementById('btn1');    
        var oText1=document.getElementById('txt1');
        var oText2=document.getElementById('txt2');
        
        oBtn.onclick=function (){
            var json={};
            
            var arr=oText1.value.split(' ');
            
            for (var i=0; i<arr.length; i++)
            {
                var value=arr[i];
                
                if (json[value])
                {
                    json[value]++;
                }
                else
                {
                    json[value]=1;
                }
            }
            
            // alert(JSON.stringify(json));
            
            
            /*
                [
                    {name:i, num:json[i]},
                    {name:i, num:json[i]},
                    {name:i, num:json[i]}
                ]    
            */
            var arr2=[];
            for(var i in json)
            {
                arr2.push({
                    name:i,
                    num:json[i]
                });
            }
            //console.log(arr2);
            arr2.sort(function(j1,j2){
                return j2.num-j1.num;
            });
            
            var arr3=[];
            for(var i=0;i<arr2.length;i++)
            {
                var json=arr2[i];
                arr3.push(json['name']+':'+json['num']);
            }
            oText2.value=arr3.join('
    ');
        };
    };
    
    function findInArr(arr, obj)
    {
        for (var i=0; i<arr.length; i++)
        {
            if (arr[i]==obj)
            {
                return true;
            }
        }
        
        return false;
    }
    </script>
    </head>
    
    <body>
    输入原始文本(空格隔开):<br>
    <textarea style="300px; height:200px;" id="txt1">衣服 运动鞋 篮球鞋 跑步鞋 休闲鞋 帆布鞋 足球鞋 衣服 衣服 衣服 跑步鞋 跑步鞋 跑步鞋 跑步鞋 休闲鞋 帆布鞋 休闲鞋 帆布鞋 休闲鞋 帆布鞋</textarea><br>
    <br>
    <input type="button" value="" id="btn1" /><br>
    <br>
    这里输出结果:<br>
    <textarea style="300px; height:200px;" id="txt2"></textarea>
    </body>
    </html>
  • 相关阅读:
    【原创】构建高性能ASP.NET站点之一 剖析页面的处理过程(前端)
    .NET 并行(多核)编程系列之七 共享数据问题和解决概述
    架构设计解惑
    项目开发经验谈之:设计失败的挫败感
    项目开发经验谈之:忆第一次设计Framework
    盲目的项目开发
    扩展GridView之添加单选列
    日期转换格式
    动手完善个性化弹出提示框的过程及乐趣
    SQL开发中容易忽视的一些小地方(六)
  • 原文地址:https://www.cnblogs.com/heboliufengjie/p/4149568.html
Copyright © 2020-2023  润新知