Js-基础-数组

163 阅读4分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

数组

数组是什么

数组: (Array) 就是一组有序排列的数据的集合

使用场景: 如果有多个数据可以用数组保存起来放在变量中,方便我们的管理

数组的基本使用

通过 [] 定义数组,数组中可以存放任意类型的数据

定义数组

 // 1 声明数组 字面量
    let arr = [ ]; // 空数组
    // 使用new Array 构造函数声明 了解
    let array = new Array(1, 2, 3, 4);
    // 2 数组做为数据的集合,数组元素的值可以是任意数据类型
    let arr1 = ['html', 'css', '10', 20, true, false, ',芒果',arr];

访问数组和数组索引

我们可以通过数组的下标(索引)来访问数组的数据.

在计算机中,数组的索引值是从左往右依次排列的,且索引值从0开始

let arr= [1,2,3,4,null,'芒果','好雨知时节'];
//比如此时我想访问'好雨知时节',这个数据在arr中的第7个位置,由于索引值从0开始那么它的索引0值是6
let str = arr[6];
document.write(str);//'好雨知时节'

我们也可以通过这个方法更改它的值

let arr= [1,2,3,4,null,'芒果','好雨知时节'];
arr[6]= '当春乃发生';
document.write(arr);//1,2,3,4,芒果,当春乃发生

数组长度属性

数组在 JavaScript 中不是新的数据类型,它属于对象类型

我们可以通过 数组.length来获取数组长度,这个方法的返回值是一个数字

let arr= [1,2,3,4,null,'芒果','好雨知时节'];
document.write(arr.length);  //打印出来的值是 7

遍历数组

我们如果一个一个获取数组中的元素要写非常多的代码,我们可以用for循环来遍历访问数组来更加高效的访问数组中的元素

for (let i = 0; i < 数组名.length; i++) {
      console.log(数组[i]);
    }
// 示例代码
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
for (let i = 0; i < arr.length; i++) {
      console.log(arr[i]);
}
//1,2,3,4,null,芒果,好雨知时节

操作数组

数组做为对象数据类型,不但有 length 属性可以使用,还提供了许多方法:

  1. push 动态向数组的尾部添加一个单元
  2. unshit 动态向数组头部添加一个单元
  3. pop 删除最后一个单元
  4. shift 删除第一个单元
  5. splice 动态删除任意单元

使用以上4个方法时,都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 length 并不会发生错乱。

增加数组

push 动态向数组的尾部添加一个单元(末尾新增元素)

unshit 动态向数组头部添加一个单元(开头新增元素)

let arr= [1,2,3,4,null,'芒果','好雨知时节'];
    // 向数组末尾新增元素 - push 
    arr.push('当春乃发生');
    // push 有返回值 返回数组的长度
   // 也可以一次 添加多个 
  arr.push('随风潜入夜', '润物细无声');
   console.log(arr);
//1,2,3,4,null,芒果,好雨知时节当春乃发生,随风潜入夜,润物细无声
// 向数组开头添加元素 -  unshift 
    arr.unshift('red','blue');
    console.log(arr);red,blue,1,2,3,4,null,芒果,好雨知时节当春乃发生,随风潜入夜,润物细无声

删除数组元素

pop:删除最后一个单元

shift :删除第一个单元

splice:动态删除任意单元

splice(1.1) 中写入两个值,第一个值指索引(获取元素),第二个值指要从索引开始删除的元素数量

如果第二个值不写,表示从索引位置山道最后

let arr= [1,2,3,4,null,'芒果','好雨知时节'];
    // 1.pop()  删除最后一个元素
    arr.pop();
    console.log(arr);//1,2,3,4,null,芒果
    // 2.shift() 删除第一个元素
    arr.shift();
    console.log(arr);//1,2,3,4,null
    // 3. splice()  删除指定元素  splice(起始位置-索引号, 删除几个)
    arr.splice(1, 1) // 是从索引号1的位置开始删, 只删除1个
    //arr.splice(1) // 从索引1开始删除到最后
    console.log(arr);//1,3,4,null,