JavaScript基础第五天

131 阅读3分钟

数组

定义:

数组(Array)是一种可以按顺序保存数据的数据类型

数组的基本使用

①声明语法

let 数组名 = [数据1, 数据2, ..., 数据n]
  • 例:
let fruits = ['苹果', '菠萝', '草莓', '芒果', '榴莲']
  • 数组是按顺序保存,所以每个数据都有自己的编号
  • 计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
  • 在数组中,数据的编号也叫索引或下标
  • 数组可以存储任意类型的数据

②取值语法

数组名[下标]
let fruits = ['苹果', '菠萝', '草莓', '芒果', '榴莲'];
fruits[0];//苹果
fruits[3];//芒果
  • l通过下标取数据
  • 取出来是什么类型的,就根据这种类型特点来访问

③一些术语

  • 元素:数组中保存的每个数据都叫数组元素
  • 下标:数组中数据的编号
  • 长度:数组中数据的个数,通过数组的length属性获得
let fruits = ['苹果', '菠萝', '草莓', '芒果', '榴莲'];
console.log(fruits[0]);//苹果
console.log(fruits[3]);//芒果
console.log(fruits.length);//5  数组长度

④遍历数组

  • 用循环把数组中每个元素都访问到,一般会用for循环遍历
  • 语法:
for (let i = 0; i < 数组名.length; i++){
    数组名[i]
}

例:

let nums = [10, 20, 30, 40, 50]
for (let i = 0; i < nums.length; i++){
    document.write(nums[i]);
}

数组操作

数组本质是数据集合, 操作数据无非就是 增 删 改 查 语法:

① 查询数组数据

  • 数组 [下标] 或者我们称为访问数组数据
	<script>
        let snacks = ['薯片', '饼干', '辣条', '爆米花', '干果'];
        //获取数组里面的第0个元素
        console.log(snacks[0]);//薯片
        console.log(snacks.length);//数组长度,有多少个元素
        console.log(snacks[20]);//若获取的元素超过数组的长度或者不存在,则会输出underfined
    </script>

②重新赋值

  • 数组[下标] = 新值
<script>
         let snacks = ['薯片', '饼干', '辣条', '爆米花', '干果'];
		snacks[2] = 蛋糕;//重新赋值,替换原来的'辣条'
		snacks[4] = 薯条;//重新赋值,替换原来的'干果'
		snacks[100] = 汉堡;
         console.log(snacks);
		console.log(snacks.length);
    </script>

注意:

  • 若数组 snacks[100] 这位置已有元素,则就是修改或替换原元素
  • 若数组 snacks[100] 这位置没有元素,则就是新增元素
  • 如数组 snacks[100] 前面的位置是没有元素赋值的,则未赋值的位置还是空的,元素可以新增在那些位置,输出还是显示undefined
  • 即使snacks[100]前面存在未赋值的元素位置,那它输出长度会是 snacks.length =101

③数组添加新的数据

  • arr.push(在末尾新增元素) 常用

数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度 (重点)

语法:

arr.push('元素1','元素2', ..., '元素n')

例:

	<script>
        let arr = ['小米', '小明']
        arr.push('小红','小丽')
        console.log(arr);
    </script>
  • arr.unshift(开头新增元素) 少用

arr.unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

语法:

arr.unshift('元素1','元素2', ..., '元素n')

例:

	<script>
        let arr = ['小米', '小明']
        arr.unshift('小红','小丽')
        console.log(arr);
    </script>
  • arr.splice(操作的下标,指定位置添加) 少用

语法:

//		下标表示  从起始位置往后数	'元素名称'
arr.splice(指定位置, 删除, 增加 )

例:

<script>
        let arr = ['小米', '小明']
        arr.splice(1, 0'小丽')//表示删除0个元素,在小明前面插入'小丽'
        console.log(arr);
    </script>

④删除数组中数据

  • arr.pop(); (删除末位元素)

数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值

语法:

arr.pop();

例:

<script>
        let arr = ['西瓜','葡萄','草莓','榴莲','芒果']
        arr.pop();//芒果
        console.log(arr);
    </script>
  • arr.shift();(删除开头元素)

语法:

arr.shift();

例:

<script>
        let arr = ['西瓜','葡萄','草莓','榴莲','芒果']
        arr.shift();//西瓜
        console.log(arr);
    </script>
  • arr.splice(操作的下标,删除的个数)

语法:

//		下标表示	从起始位置往后数
arr.splice(起始位置, 删除几个元素 )

例:

<script>
        let arr = ['小米', '小明', '小丽', '小红']
        arr.splice(1, 2 )//表示从1开始删除2个元素,'小明'和'小丽'
        console.log(arr);
    </script>

⑤拓展补充

  • 获取数组的最后一个元素 (常用的规则!! )
arr[arr.length - 1]  
  • 数组 可以存放任意类型的数据 可以这么做,但是不建议 我们建议 一个数组内的数据类型要统一!!
 let arr = ['西瓜', 100, null, true, NaN, undefined, 80];
  • 数组快速清空或者删除元素的方式
arr.length = 0;//全部清空
arr.length = 3;//保留3个元素