JavaScript的数组

什么是数组:
数组就是专门用于存储一组数据的
如何创建数组:

var 变量名称 = new Array(size);

操作数组:

变量名称[索引号] = 需要存储的数据

注意点
  1. 如果数组对于的索引中没有储存值,默认储存的就是undefined
  2. JavaScript中访问了数组中不存在的索引不会报错,会返回undefined
  3. JavaScript中数组的存储空间不够时会自动扩容
  4. JavaScript的数组可以存储不同的数据类型
  5. JavaScript中数组分配的存储空间不一定是连续的

在各大浏览器也对JavaScript的数组分配存储空间做了优化

  • 如果存储的都是相同的数据类型,那么会尽量分配连续的存储空间
  • 如果存储的不是相同的数据类型,那么就不分配连续的存储空间
创建函数的方式:
通过构造函数创建数组:
var 变量名称 = new Array(size);     //创建一个指定大小的函数
var 变量名称 = new Array();         // 创建一个空数组
var 变量名称 = new Array(date1,date2,date3,.....); //含有数据的数组
通过字面量创建数组:
var 变量名称 = [];      // 创建一个空数组
var 变量名称 = [date1,date2,date3,....];    //创建一个空数组
// var arr = new Array(3);
arr[0] = "num1";
arr[2] = "num2";
arr[3] = "num3";
JavaScript数组的解构赋值:
  1. 什么的是数组的解构赋值?

解构赋值是ES6中新增的一种赋值方式

  1. 数组解构的注意点:
  • 数组解构赋值赋值中,等号左边的格式必须和等号右边的格式一模一样,才能完全解构
  • 在数组的解构赋值中,左边的个数可以和右边的个数不一样
  • 在数组的解构赋值中,右边的个数也可以和左边的个数不一样
  • 在数组的解构赋值中,右边的个数和左边的个数不一样时,可以给左边的指定默认值
  • 在数组的解构赋值中,还可以使用ES6中新增的扩展运算符来打包剩余的数据
  • 在数组的解构赋值中,如果使用了扩展运算符,那么扩展运算符只能写在最后
var [a, b, c, d] = [1, 23, 45, [6, 7]];
console.log("a=" + a);
console.log("b=" + b);
console.log("c=" + c);
console.log("d=" + d);
// 在数组的解构中,右边的个数和左边的个数不一样时,可以给左边的指定默认值
var [a, b = 666, c = 888] = [1];
console.log("a=" + a);
console.log("b=" + b);
console.log("c=" + c);
// 在数组的解构赋值中,还可以使用ES6中新增的扩展运算符来打包剩余的数据
// ES6中新增的扩展运算符: ...
var [a,...b] = [1,3,4,6];
console.log(a);
console.log(b); //以数组的方式打包输出 剩余的数据
数组的增删改查:
var arr["a","b","c"];
// 查
console.log(arr[1]);  // 输出b
// 改
arr[1] = "m";
console.log(arr[1]); // 将b改为m,输出m
arr.splice(1,2,"d","e");    //从第一个元素开始,替换两个内容 d和e
//增加
arr.push("x","y","z");  // 在数组最后一个元素添加元素 push会返回新增数字的长度
arr.unshift("P","Q")    //和push方法一样,会将新增数组的长度返回
// 删除
arr.pop();  //移除数组的最后一条数据,并且将删除的数据返回
arr.shift();    //删除数组最前面的一条数据,并且将删除的数据返回
arr.splice(1,1);    //从索引为1的元素开始删除一条数据
数组常用的方法:
  • 清空数组
var arr = [1,2,3,4,5];

arr= [];
arr.length = 0;
arr.splice(0,arr,length);
  • 将数组转换为字符串
var arr = [1,2,3,4,5];
arr.toSting();
  • 将数组转换为指定格式的字符串
var arr = [1,2,3,4,5];
//join方法默认情况下如果没有传递参数,就是调用toString();
//join方法如果传递了参数,就会将传递的参数最为元素的连接符号
arr.join("+");
  • 将两个数组拼接为一个数组
// 数组不能用加号拼接,如果使用加号进行拼接会先转成字符串再拼接
var arr = [1,2,3,4,5];
var arr1 = [6,7,8,9];
arr.concat(arr1);    //将两个数组拼接到一起返回一个新的数组,concat不会修改原数组
// ES6 数组拼接的方法
var res = [...arr, ...arr1];
  • 将数组中的内容进行反转
var arr = [1,2,3,4,5];
arr.reverse();      // 会修改原有的数组
  • 截取数组中指定范围内容
var arr = [1,2,3,4,5];
arr.slice(1,3);     //slice方法包含起始位置,不包含结束位置,且不会对原有数组修改
  • 查找元素在数组的位置
var arr = [1,2,3,4,5,3];
// index()如果找到了指定的元素就会返回对应的位置,如果没找到就会返回-1
arr.indexOf(3);     // 默认从左到右执行,一旦找到就会立即停止查找
arr.lastIndexOf(3); //默认从右到左执行,一旦找到就会立即停止查找
  • 判断数组中是否包含某个元素
//可以通过indexOf和lastIndexOf的结果,判断是-1即可
var arr = [1,2,3,4,5];

arr.indexOf(6);             // -1
arr.lastIndexOf(6);         // -1
//ES6新增的方法
arr.includes(6);            // false
arr.includes(2);            //ture
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值