常用数组算法

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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容