目录
首页 笔记 详情

js 数组添加数据去重方法(js 数组定义数组的优缺点及方法)


什么是数组

数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组中每一个元素都可以通过索引(下标)来快速读取,引是从零开始的整数 。

创建数组

1.字面量创建

使用字面量来创建是通过中括号([])来创建数组。

格式:var 数组名称 = [数组元素,数组元素,.....];

示例:

let arr = [10, 'string', 'world', true];
console.log(arr, typeof arr);

2.使用new关键字创建

数组创建方式除了使用字面量以外,还可以使用 new 关键字来创建。

格式:

var 数组名称 = new Array();

示例:

let arr1 = new Array(3);
let arr2 = new Array(3, 4);
console.log(arr1, typeof arr1);

1.如果在 new Array() 中指定了一个数值参数,那么它会把这个数值当作是数组的长度

(元素个数)来使用。

2. 如果指定参数是整数,但不只一个参数时,那么它会把这些参数当作是数组的元素来

使用。

数组使用

1.获取数组元素个数

在数组中有一个叫 length 的属性,里面存有数组的元素个数,我们只需要获取这个属性就可以得到数组的元素个数。由于数组的类型是 object 类型(也就是引用数据类型,也可以叫对象数据类型),它可以使用数组名称.属性名称 的方式来进行获取。

let arr = [10, 'string', 'world', true];
console.log(arr.length);

2.数组添加元素

向数组中添加元素可以使用 数组名称[下标] = 元素 的方式来添加。

    var arr = ['1', '2', '3']; 
    // 添加新的元素 
    arr[5] = '4';
    console.log(arr);
    arr[5] = '5';
    console.log(arr);

1. 在添加元素时,如果下标不是连续的,那么会增加一些空的元素来进行占位

2. 如果给没有元素的下标指定元素则会对数组进行元素的添加操作

3. 如果给有元素的下标指定新的元素则会修改数组中对应下标的元素。

3.获取元素

在数组中可以使用 数组名称[下标] 的方式来获取数组中的元素。

		var arr = ['1', '2', '3']; 
		console.log(arr[1]);
    console.log(arr[2]);
    console.log(arr[3]);

4.迭代元素

使用循环来进行数组元素的迭代。

    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    console.log('------------');
    var j = 0;
    while (true) {
        if (j >= arr.length) break;
        console.log(arr[j]);
        j++;
    }

5.删除元素

要删除数组中的元素,可以使用 delete 运算符来删除数组中的元素。

格式:

delete 数组名称[下标];
var arr = ['1', '2', '3']; 
delete arr[1];
delete arr[2];
delete arr[10]; // 不会报错
console.log(arr);

1. 使用 delete 运算符来删除数组元素时,它可以把元素删除,但是不会修改数组的长度

2. 如果使用 delete 时,指定的下标不在数组长度范围之内时,它不会作任何的操作,也

不会报错。

数组方法

1.添加元素

添加元素的方法:

1.push

push() 方法是在数组元素的最后添加新的元素。执行成功后会返回新数组的长度。

数组名称.push(新元素);

    let arr = [1, 2, 3, 4, 5];
    console.log(arr);
    // 在数组的末尾添加元素
    let l = arr.push(9)
    console.log(l);
    console.log(arr);

2.unshift

unshift() 方法是在数组的开头添加新元素。执行后也会返回数组新的长度。

数组名称.unshift(新元素);

    let arr = [1, 2, 3, 4, 5];
    console.log(arr);
    // 在数组的开头添加元素
    let l = arr.push(9)
    console.log(l);
    console.log(arr);

不管是 push() 方法还是 unshift() 方法都是可以添加多个元素的。

    var arr = [1, 2, 3, 4, 5];
    console.log(arr);
    // 在数组的末尾添加多个元素 
    arr.push(20, 15, 81)
    console.log(arr);
    // 在数组的开头添加多个元素 
    arr.unshift(41, 60, 75)
    console.log(arr);

还可以添加另一个数组到当前数组中。

    let arr1 = [1, 2, 3, 4, 5];
    let arr2 = [999, 888, 777]
    arr1.push(100, arr2);
    arr1.unshift(2222, arr2);
    console.log(arr1);

2.删除元素

删除元素有两个方法:

1.pop

pop() 方法可以删除数组最后的一个元素,这个方法执行成功后,会把被删除的元素获取到。

数组名称.pop();

    let arr = [1, 2, 3, 4, 5, 6, 7]
    console.log(arr);
    // 使用 pop() 方法来删除数组中最后一个元素
    let el = arr.pop();
    console.log(el);
    console.log(arr);

2.shift

shift() 方法会删除数组中的第一个元素,执行成功后会把被删除的元素返回。

数组名称.shift();

    let arr = [1, 2, 3, 4, 5, 6, 7]
    console.log(arr);
    let el = arr.shift();
    console.log(el);
    console.log(arr);

比较push和unshift

1. push() 是在数组的最后添加新元素,而 unshift() 是在数组的开头添加新元素。

2. push() 添加元素时不存在元素移动的问题,而 unshift() 添加元素是存在元素移动的

问题。因此 unshift() 添加元素的性能要低于 push() 方法。

比较pop和shift比较

1. pop() 方法是删除数组最后一个元素,而 shift() 是删除数组第一个元素。

2. pop() 方法删除元素时不存在元素移动问题,而 shift() 方法删除元素时存在元素移动 的问题。因此, shift() 方法删除元素的性能低于 pop() 方法删除元素的性能。

3.数组排序

在 JS 中对数组排序有以下两个方法:

1.reverse

reverse() 方法用于颠倒数组中的元素。

数组名称.reverse();

    let arr = [1, 2, 3, 4, 5, 6, 7]
    console.log(arr);
		arr.reverse();
		console.log(arr);

2.sort

sort() 对数组元素进行排序。

数组名称.sort([compare]);

var arr = [2, 5, 1, 10, 8, 9];
console.log(arr);
arr.sort();
console.log(arr);

写笔记

咨询

您的电子邮箱地址不会被公开。