美文网首页
常用数组算法

常用数组算法

作者: 行不离书 | 来源:发表于2016-11-25 19:16 被阅读0次

Array是js里的内置对象,也是我们最常用的一种,在这里我们整理一下常见的简单算法

1.数组去重

数组去重是面试中经常遇到的笔试题,当然它的解法也很多变,这里介绍简单的两种。

1>es6数组去重

function delete_repeat(arr){
  return [new Set(arr)]
}
var arr = [1, 2, 3, 5, 2];
console.log(delete_repeat(arr));
//这里用到的是ES6的set()方法,set直接可以存储不重复的一组key,这个key也可以是对象,字符串等.

2>利用indexof数组去重

function unique1(arr){ 
   var tmpArr = [];
   for(var i=0; i<arr.length; i++){ 
    //如果当前数组的第i已经保存进了临时数组,那么跳过,
    //否则把当前项push到临时数组里面
        if(tmpArr.indexOf(arr[i]) == -1){ 
              tmpArr.push(arr[i]); 
         } 
    } 
    return tmpArr;
 }

2.求最大值和最小值

1>最简洁版

var a=[1,2,3,5];
alert(Math.max.apply(null, a));//最大值
alert(Math.min.apply(null, a));//最小值

2>原型方法版

Array.prototype.max = function(){ 
  return Math.max.apply({},this) 
} 
Array.prototype.min = function(){ 
  return Math.min.apply({},this) 
} 
[1,2,3].max()// => 3 
[1,2,3].min()// => 1

3.数组排序

1>Array的sort()方法——升序

var arr = [23,34,3,4,23,44,333,444]; 
arr.sort(function(a,b){ return a-b; }) 
console.log(arr);

2>ES6写法

var sortedArr = arr.sort((a, b) => a < b ? 1 : -1);
console.log(sortedArr);

3>Array的sort()方法——降序

arr.sort(function(a,b){ return b-a; }) 

4.把两个数组合并,并删除第二个元素

var array1 = ['a','b','c'];

var bArray = ['d','e','f'];

var cArray = array1.concat(bArray);

cArray.splice(1,1);

相关文章

  • PHP常用数组排序算法

    title: PHP常用数组排序算法tags: [PHP,数组,排序,算法] 这几天写到的代码中,用到了许多对数组...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

  • 常用数组算法

    Array是js里的内置对象,也是我们最常用的一种,在这里我们整理一下常见的简单算法 1.数组去重 数组去重是面试...

  • Scala菜鸟进阶之路之数组相关操作三

    常用算法 1、求和 2、min和max 3、sorted方法将数组或数组缓冲排序并返回经过排序的数组或数组缓冲,这...

  • JavaScript常用数组算法总结

    数组去重 方法1: 利用数组的indexOf方法 方法2 利用hash表,可能会出现字符串和数字一样的话出错,如v...

  • JavaScript数组的常用算法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 欢迎大家...

  • 算法草稿

    常用算法集合 字符处理算法数组与查找链表树算法思路 递归、动态规划、BFS/DFS、双指针、二分法搜索数据结构的...

  • C语言排序算法积累(2)选择排序

    选择排序法是一种排序算法,跟冒泡算法一样也是一种常用的排序算法。例如将int arr[]数组内的元素按照升序排序 ...

  • 算法一看就懂之「 排序算法 」

    之前的文章咱们已经聊过了 「 数组和链表 」 「 堆栈 」 「 队列 」 「 递归 」 下图是常用排序算法的时间空...

  • 树状数组求逆序对原理

    归并排序和树状数组都可以用nlogn的算法做到求出逆序对.但这里着重讲树状数组的原理与求法.树状数组最常用的方面就...

网友评论

      本文标题:常用数组算法

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