js 二维数组去重

JavaScript09

js 二维数组去重,第1张

定义

  arr: [

        [1, 2, 3],

        [2, 3, 4],

        [4, 5, 6],

        [12, 3, 4],

        [4, 25, 6],

        [14, 25, 16],

        [14, 15, 16],

        [14, 15, 15, 116, 19],

      ],

      newarr: [],

方法    //去重

    quchong() {

      var newArr = []

      for (var i = 0i <this.arr.lengthi++) {

        for (var j = 0j <this.arr[i].lengthj++) {

          var v = this.arr[i][j]

          // 判断是否存在数组中,不存在在往下走

          if (!newArr.includes(v)) {

            newArr.push(v)

            this.newarr = newArr

          }

        }

      }

    },

        本篇含有数组去重,最大值最小值,API剩下的四个还有二维数组

一、数组去重、最大值

    1.去重(方法很多,这里只写了一种)

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

        for(var i=0,arr2=[1]i

            for(var j=0j

                if(arr[i]==arr2[j]){

                    break

                }

            }

        if(j==arr2.length){

            arr2[arr2.length]=arr[i]

        }

    }

    console.log(arr2)

2.最大值、最小值和和

    var sor=[65,78,56,89,92]

    for(var i=0,num=0,num1=65,num2=65i

        num+=sor[i]//和

        if(sor[i]>num1){

            num1=sor[i]//最大值

        }

        if(sor[i]

            num2=sor[i]//最小值

        }

    }

    console.log(num)

    console.log(num1)

    console.log(num2)

二、栈和队列:

js中没有专门的栈和队列类型,都是用普通该数组模拟的。

何时:只要希望按照顺序使用数组元素时

栈:一端封闭,只能从另一端进出的数组

顺序: FILO

何时:如果希望始终操作最后进入数组的最新的元素时。

如何:

结尾出入栈:

入: arr.push(值)

出: var last=arr.pop()

优:每次出入栈不影响其余元素的位置

开头出入栈:

入: arr.unshift(值)

出: var first=arr.shift()

缺:每次出入栈都会影响每个元素的位置

队列:只能从一端进入,从另一端出

顺序: FIFO

何时:只要按照先来后到的顺序使用元素

如何:

从结尾入队列: arr.push(值)

从开头出队列: var first=arr.shift()

如:var arr=[5,6,7,8,9]

        arr.push(10)

        console.log(arr)

        arr.pop()

        console.log(arr)

        arr.unshift(4)

        console.log(arr)

        arr.shift()

        console.log(arr)

三、二维数组:

什么是:数组中的元素,又引用了另一个子数组。

何时:

    1.存储横行竖列的二维数据

    2.对一个大的数组中的元素,进一步分类

如何:

    创建:

      1.先创建空数组,再添加子数组:

               var arr=[]

               arr[0]=[2,2,4,0]

               arr[1]=[0,2,2,0]

      2.在创建数组同时,初始化子数组

           var arr=[

                  [2,2,4,0],//0

                  [0,2,2,0],//1

                  ...

                 ]

访问元素:

arr[r][c]:访问arr中r位置的子数组中的c位置的元素

越界: r不能越界

遍历:外层循环控制行,内层循环控制列

              for(var r=0r

                 for(var c=0c

arr[r][c]//当前元素    

                 }

              }

如:var arr=[['w','s','k'],[56,66,32,23],[true,false]]

    for(var i=0i

        for(var j=0j

           console.log(arr[i][j])

        }

    }

End!