数组

68 阅读1分钟

数组

数组作为一组数据的集合,其中每个数据被称为元素,在数组中可以存放任意类型元素

// 1.push 将一个或者多个元素添加到数组末尾

var arr = [1, 2, 3];

arr.push(4);

console.log(arr);

声明数组

var arr = new Array();
var newArray = Array.apply();//使用Array.apply此种方式可以声明不为空数组

// arguments 可以获取函数中的所有参数 且形成一个伪数组

// 如何转为真数组

// 使用Array.from

// 数组拼接 
var arr = [1,2];

var arr1 = [1,4];

console.log(arr.consat(arr1))

数组去重的几种方案

双循环去重

function unique(arr){

    if(!Array.isArray(arr)){

        console.log('type error')

        return

    }

    let res = [arr[0]]

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

        let flag = true;

        for(let j =0;i<res.length;j++){

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

                flag = false;

                break;

            }

        }

        if (flag){

            res.push(arr[i])

        }

    }

    return res

}

// 先定义一个包含原始数组第一个元素的数组,遍历数组,将数组里的每个元素和新数组的进行比对

//如果 不重复:加入到新数组 返回新数组

\

indexOf去重

function unique(arr)

{

    if(!Array.isArray(arr)){

        console.log('type error')

        return

    }

    let res=[]

    for (let i = 0;i<arr.length;i++){

        if(res.indexOf(arr[i]) == -1){

            res.push(arr[i])

        }

    }

    return res

}
// 先定义一个空数组 使用indexOf对原来的数组遍历判断

//if 元素不在res中 push进res 将res返回

Array.from set 去重

Array.from set 去重

function unique(arr){

    if(!Array.isArray(arr)){

        console.log('type error')

        return

    }

    return Array.from(new Set(arr))

}

数组排序算法

将一个乱序数组变成有序数组

冒泡排序
将相邻的两个元素进行两两比较,前一个数比后一个数大,就交换位置

var n = arr.length

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

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

        if(arr[j]>arr[j+1])

        {

            var t = arr[j]

            arr[j] = arr[j+1]

            arr[j+1] = t

        }

    }

}

//对n个元素的数组进行排序,外层循环n-1轮冒泡排序,内层循环n-1-i

选择排序

在未排序的数组中找到最小或者最大的元素,存放在未排序数组的起始位置,然后继续找,继续排

var n =arr.length

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

    var minindex = i;//将i赋给最小下标

    for(var j=i+1;j<n;j++){

        if(arr[j]<arr[minindex]){

            minindex=j;//判断下标为j的对比下标i小,小  最小下标就为j

        }

    }

    var t = arr[i]

    arr[i] = arr[minindex]

    arr[minindex] = t

}