数组操作的几个方法

数组操作的几个方法

 

一、数组去重

var arr =[1,32,5,435,46,547,658,67,9879,7,7,7,3454,6,54,765,8568,67,9,8,58,6,87,9,6,8,8,8,8,575];

        var temp = {};

        var result = [];

        for (var i = 0; i < arr.length - 1; i++) {

            //检查对象中有没有这个元素

            if (!temp.hasOwnProperty(arr[i])) {

                result.push(arr[i]);

                temp[arr[i]] = 1;

            };

        };

        console.log(result);

 

 

二、删除数组的制定下标

 

function delIdx(arr,idx){

           arr = arr.splice(idx, 1);

           return arr;

        }

        var arr = [1,324,564,6,56756,768,67,798,547];

        arr = delIdx(arr,2);

        console.log(arr);

 

三、数组排序方法

1.sort
排序

 

var arr = [1,34,3,54,6,657,567,78,798,879];

//a位置在b之前

arr.sort(function(a,b){

   if (a<b) {

       return -1; //不用交换

   }else{

       return 1;  //交换

   };

})

console.log(arr);

2.冒泡排序

 

var arr =[1,224,4,5,546,57,678,89789,2352];

var arrLength = arr.length;

for (var i = 0; i < arrLength - 1; i++){

   for (var k = 0; k < arrLength - i; k++) {

      if (arr[k] >= arr[k+1]) {

          var temp = arr[k];

          arr[k] = arr[k+1];

          arr[k+1] = temp;

      };

   };

};

console.log(arr);

 

3.快速排序(迭代)

 

var arr = [1,453,54,67,7,67,9879,908,05,6,464,64,4,63,53,16];

function quick(arr){

   if (arr.length == 0) {

       return;

   };

   //标杆

   var pilot = arr[0];

   //小数组

   var small = [];

   //大数组

   var big = [];

   for (var i = 1; i < arr.length; i++) {

       if (arr[i] >= pilot) {

           big.push(arr[i]);

       }else{

           small.push(arr[i]);

       };

   };

   return quick(small).concat(pilot,quick(big));

}

console.log(quick(arr));

 

 

WEB前端学习交流群21 598399936

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值