数组基本
数组(Array)
- 数组也是一个对象
- 数组用来存储一组有序的数据
- 数组中存储的数据,称为 元素(element)
- 数组元素会根据存储的顺序保存在数组之中
- 数组中的每一个元素都有一个唯一的索引(index)
- 索引就是一组以0开始的整数
- 第一个元素索引为0,第二个元素索引为1,依次类推
//创建数组对象:
let arr = new Array();
/*
向数组中添加元素:
语法:数组[索引] = 值
*/
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;
arr[5] = 60;
/*读取数组中的元素:
语法:数组[索引]
若获取数组中没有的元素,不会报错而是返回undefined
*/
length属性:
- length用来获取数组中元素的数量.
- 值为是数组的最大索引+1
console.log(arr.length);
通过legth属性可以为数组继续创建数据,添加元素.
数组[数组.length] = 值;
length属性可以被修改
- 如果将length改小,后边的元素会被删除.
- 如果将length改大,后边会添加多的空的元素
var arr = [1,2,3];
console.log(arr);
arr.length =2;
console.log(arr);
arr.length = 10;
console.log(arr);
[图片上传失败...(image-3f5474-1660658523398)]
数组字面量
- 可以使用[]创建数组,和new Array效果相同.
- 在创建数组的同时可以直接向其添加元素.
let arr = []; // let arr = new Array();
let arr = [10,20,30,40,50];//arr = new Array(33,50,60,70,75);
arr = new Array(10);//创建一个10长度的空数组
数组当中可以存储不同数据类型的元素,但是在使用中不推荐不同类型.
var arr = ['helloworld',123,{age:20},function(){alert('123');}];
遍历数组
遍历指通过循环获取到数组中的全部元素.
var arr = [1,2,3,4,5,6,7];
for(var i = 0;i<arr.length;i++){
console.log(arr[i]);
}
for(var j =arr.length - 1;j>=0;j--){
console.log(arr[j])
}
[图片上传失败...(image-dd7a69-1660658523398)]
数组的添加删除方法
push()向数组的末尾添加一到多个元素,返回添加之后的长度.
var i = 0;
var arr = [1,2,3,4,5,6,7];
arr.push('学习');
i = arr.push('汉堡包','面包');
console.log(arr);
console.log(i);
[图片上传失败...(image-9bcbe8-1660658523398)]
pop()删除并返回数组的最后一个元素.
var i = 0;
var arr = [1,2,3,4,5,6,7];
i = arr.pop();
console.log(arr);
console.log(i);
[图片上传失败...(image-b9a255-1660658523398)]
unshift()向数组的开头添加一个到多个元素,返回新的长度.
var i = 0;
var arr = [1,2,3,4,5,6,7];
i = arr.unshift(8,9)
console.log(arr);
console.log(i);
[图片上传失败...(image-53fe10-1660658523398)]
shift()删除数组的第一个元素并返回.
var i = 0;
var arr = [1,2,3,4,5,6,7];
i = arr.shift();
console.log(arr);
console.log(i);
[图片上传失败...(image-dbebf0-1660658523398)]
arguments参数
函数中有一个隐含的参数叫做arguments
- arguments 是一个类数组对象(伪数组)
- 类数组对象和数组的操作方式基本相同,只是不能调用数组的方法.
在函数执行时,所有的实参都会存储在arguments对象中,通过arguments,即使不定义形参也可以使用实参
如果需要创建一个用函数,可以求任意个数字的和,就可以用arguments参数.
// 创建一个可以求任意个数字的和的函数
function sum() {
let result = 0;
// 遍历arguments
for(let i=0; i<arguments.length; i++){
result += arguments[i];
}
return result;
}
//实参不管传递多少个,函数内都可以累加.
console.log(sum(100, 500));