美文网首页
数组常用的方法总结二

数组常用的方法总结二

作者: An的杂货铺 | 来源:发表于2019-07-22 12:40 被阅读0次

二维数组、以及二维数组的排序

    var arrone = [[1,2],[3,4],[8,9]];

    for(var i = 0;i<arrone.length;i++){

          for(var j = 0;j<arrone[i].length;j++){

              alert(arrone[i][j]);//1,2,3,4,8,9

          }

    }
     //二维数组的含义及调用大致如上

     //二维数组的排序

        arrone.sort(function(a,b){

            return b[1] - a[1];

        })

        console.log(arrone);//[[8,9],[3,4],[1,2]]

在一个顺序一定的数组中插入某个新元素不改变原有排列顺序

    var arr = [1,2,3,4,5];

    function addsomeone(arrname,some){

          var index = arrname.length;

          for(var i = 0;i<arrname.length;i++){

              if(arrname[i]>some){

                    index = i;

                    break;//满足此条件则跳出

            }
        }

    arrname.splice(index,0,some)

    return arrname

    }

   //arr调用函数addsomeone

  alert(addsomeone(arr,8));

  alert(addsomeone(arr,2));

数组的join和toString的区别

    var arr = [1,2,4,5,8];

    console.log(arr.join(':'))//1:2:4:5:8

    console.log(arr.join());//1,2,4,5,8

    console.log(arr.toString());//1,2,4,5,8

    //都是将数组转化为字符串,略有差别(join可以添加分隔符,而toString不可以),如上

数组的冒泡排序的原理和实例

将数组从小到大的顺序排列,使用数组的sort的排序方式
    var arr = [1,3,5,2,8,10,6];

    arr.sort(function(a,b){

    return a-b

    })

    console.log(arr);//[1,2,3,5,6,8,10]
使用冒泡排序的方式进行排列(升序)
    var arrone = [2,67,32,12,3,7,9,5];
    //1、外层循环:控制轮数,从0开始,到array.length-1结束
    for(var i = 0;i<arrone.length-1;i++){
          //2、内层循环:控制每轮需比较次数(轮数每+1,该轮需比较次数-1)
          for(var j = 0;j<=arrone.length-1-i;j++){

          //此处若为小于号则为降序排列

              if(arrone[j]>arrone[j+1]){

                  var temp = arrone[j];

                  arrone[j] = arrone[j+1];

                arrone[j+1] = temp;

              }

        }

    }

    console.log(arrone);

将以上方法进行封装

 function paixu(arrname){
    for(var i = 0;i<arrname.length-1;i++){
        for(var j = 0;j<=arrname.length-1-i;j++){
          //此处若为小于号则为降序排列
              if(arrname[j]>arrname[j+1]){
                    var temp = arrname[j];
                    arrname[j] = arrname[j+1];
                    arrname[j+1] = temp;
               }
        }
     }
     return arrname
  }
    var arrfirst = [9,6,7,10,2,5,6,1];

    var arrsecond = [58,98,14,25,30,66];

    var firstarr = paixu(arrfirst);

    var secondarr = paixu(arrsecond);

    console.log(firstarr);//[1,2,5,6,6,7,9,10]

    console.log(secondarr);//[14,25,30,58,66,98]

冒泡排序原理图

1516130611_8752.jpg 1516130611_9640.jpg 1516130611_9545.jpg 1516130612_2532.jpg

数组的去重

方式一

   var arrone = [2,3,3,5,6,12,12,34,5,34];

  //判断一个数组里是否包含某元素

    function hassome(arrname,someone){

        for(var i = 0;i<arrname.length;i++){

            if(arrname[i] == someone){

              return true

            }

        }

        return false

      }

      //数组调用方法

      alert(hassome(arrone,34))

      //数组去重方式1,利用以上函数

      var arrtwo = [1,3,5,5,6,8,2,1];

      function delrepeat(arrtwo){

        var res = [];

        for(var i = 0;i<arrtwo.length;i++){

            if(!hassome(res,arrtwo[i])){

              res.push(arrtwo[i])

            }

        }

        return res;

      }

      alert(delrepeat(arrtwo));

方式二 ——利用排序规则

var arrthree = [1,4,2,8,5,3,6,5,3,2,1];

      function delrepeattwo(arrthree){

        var resarr = [];

        var arranother = arrthree.sort(function(a,b){

            return a-b

        });

        for(var i = 0;i<arranother.length;i++){

            if(arranother[i]!=arranother[i+1]){

              resarr.push(arranother[i])

            }

        }

        return resarr

      }

      //用数组调用以上函数

      alert(delrepeattwo(arrthree));

      //实现了排序和去重

方式三 ——ES6——new Set方法

var myArray = [1,1,2,2,3,3,4,4,5,5]
console.log([...new Set(myArray )]);// [1, 2, 3, 4, 5]
//得到的是set类数组结构
Array.from(该方法可以将 Set 结构转为数组)
function dedupe(array) {
  return Array.from(new Set(array));
}
dedupe([1, 1, 2, 3]) // [1, 2, 3]

相关文章

  • 数组常用的方法总结二

    二维数组、以及二维数组的排序 在一个顺序一定的数组中插入某个新元素不改变原有排列顺序 数组的join和toStri...

  • JavaScript数组去重

    JavaScript中数组的常用操作之数组去重 方法一 方法二

  • # 数组常用属性和方法总结

    数组常用属性和方法总结 数组也是对象,数组有对象的所有方法 1. 数组属性(2个主要属性) length -> 万...

  • Javascript中数组常用方法总结

    Javascript中数组常用方法总结 创建方式:Array构造函数字面量Array创建数组的静态方法from: ...

  • 数组常用方法总结

    数组的一些操作方法?这里按照是否改变原始数组进行分类如下 1. 改变原始数组的 ``` - fill(value,...

  • 数组常用方法总结

    前言 最近工作的时候总是记不住数组,对象,字符串的方法,写一篇方法总结好好的巩固一下,以后也好复习。 数组的定义 ...

  • 数组常用方法总结

    MDN[https://developer.mozilla.org/en-US/docs/Web/JavaScri...

  • js数组相关的一些方法(一)

    很早就想做个总结,难得今日有空,总结一些常用的数组方法,如下:1.joinjoin(separator):将数组的...

  • 数组的常用方法总结

    一、基本使用1、数组的创建(1) 通过[] (2) 通过创建构造函数 Array的实例 需要注意的是,如果构造函数...

  • 数组的常用方法总结

    1. join() join(’参数‘)把数组的元素以传入的参数为分割符,转换成字符串。 2.push()和pop...

网友评论

      本文标题:数组常用的方法总结二

      本文链接:https://www.haomeiwen.com/subject/cksilctx.html