zoukankan      html  css  js  c++  java
  • 返回数组中的最大值和删除数组重复值-排序

    //数组中最大值
    function getMax(arr){
    //取该数组第一个值为最大值
    var max=arr[0];
    for(var i=0;i<arr.length;i++){
    if(arr[i]>max){
    max=arr[i]
    }
    }
    return max;
    }

    console.log(getMax([2,98,10,88]))

    /*--------------------------------------------------------------------*/
    //删除数组重复值
    function shift(arr){
    var newArr=[]; //定义一个新数组来存放去掉重复值后的新数组
    for(var i=0;i<arr.length;i++){
    if(newArr.indexOf(arr[i])==-1)//新数组中没找到对应的值,则存入新数组,反之不存入
    newArr.push(arr[i])
    }
    return newArr;
    }
    console.log(shift([1,2,9,1,3,5,3]))

    /*--------------------------------------------------------------------*/
    //[方法1]数组去重,并排序
    function shiftAndSort(arr){
    var xinarr=[];
    for(var i=0;i<arr.length;i++){
    if(xinarr.indexOf(arr[i])==-1){
    xinarr.push(arr[i])
    }
    }
    return xinarr.sort(function(a,b){return b-a});
    }
    console.log(shiftAndSort([1,2,9,1,3,5,3]))


    /*--------------------------------------------------------------------*/
    //【方法2】数组去重,并排序
    function shiftAndSort(arr){
    var sinarr=[];
    for(var i=0;i<arr.length;i++){
    if(sinarr.indexOf(arr[i])==-1){
    sinarr.push(arr[i])
    }
    }
    for(var r=0;r<sinarr.length;r++){//冒泡排序
    for(var j=0;j<sinarr.length-r;j++){
    if(sinarr[j]>sinarr[j+1]){
    sinarr[j]=[(sinarr[j+1]),(sinarr[j+1]=sinarr[j])][0];
    }
    }
    }
    return sinarr;
    }
    console.log(shiftAndSort([1,2,9,1,3,5,3]))

    /*--------------------------------------------------------------------*/

    //【方法3】数组去重,并排序为数组对象添加一个方法unique

    Array.prototype.unique=function(){
    var n=[];
    for(var i=0;i<this.length;i++){
    //当前数组中的i位置的值已经保存在临时数组n中,那么跳过,
    //反之把当前项追加到临时数组n里
    if(n.indexOf(this[i])==-1){
    n.push(this[i])
    }
    }
    return n;//数组反转升序排列
    }
    var arr3=[1,2,2,3,3,4,4,5,5,6,1,9,3,2,25,4,99]
    console.log(arr3.unique())//[ 1, 2, 3, 4, 5, 6, 9, 25 ]



    //创建一个新的数组存放结果,再创建一个空对象,for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到新建立的对象中。
    Array.prototype.unique2 = function(){ //效率高
    var res = [];
    var json = {};
    for(var i = 0; i < this.length; i++){
    if(!json[this[i]]){
    res.push(this[i]);
    json[this[i]] = 1;
    }
    }
    return res;
    }

    console.log(arr3.unique2())//[ 1, 2, 3, 4, 5, 6, 9, 25, 99 ]
  • 相关阅读:
    XXE注入攻击与防御
    axublog 1.05代码审计
    burpsuite两个变量的爱情故事
    关于centos安装后一些命令找不到
    SP_OACreate提权经验
    app测试初窥
    Drozer快速使用指南
    Senparc.Weixin.MP SDK 微信公众平台开发教程(十七):个性化菜单接口说明
    【重要更新】Senparc.Weixin SDK v4.4 升级说明
    【重要更新】Senparc.Weixin.Open v1.5.1
  • 原文地址:https://www.cnblogs.com/xzma/p/7070462.html
Copyright © 2011-2022 走看看