JavaScript数组
什么是数组
数组是指 一组数据的集合 ,其中的每个数据被称作 元素 ,在数组中可以 存放任意类型的元素 。数组中每一个元素都可以通过索引(下标)来快速读取,引是从零开始的整数 。 创建数组
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);
代账会计,最终将自己带入监狱小晴大学毕业后一边打工,一边参加自学考试,取得大学本科学历,自主创业,带领一班年轻人开展业务。先后为20多家公司提供专业财会代账业务。2018年初,偶然,认识了贾某。贾某想委托小晴
突发!赵丽颖冯绍峰离婚会计分录宋仲基发誓说跟宋慧乔不离不弃,李晨说会一直保护范冰冰,文章说这辈子最骄傲的是马伊琍,然而双宋离婚事件炸了热搜!范冰冰李晨分手爆了微博!文章马伊琍离婚的消息登上榜单!而如今,一向低调
为啥我公司的女会计,脾气都特别大?前不久,有小伙伴说,想要找财务报销的时候,没有对应的发票,被怼的不敢吱声便疑惑为啥会计仙女们的脾气,都特别大?啊,会计人脾气大?还不是被你们这群来报销的人逼的!!在这里,小天想为会
华硕灵耀X纵横高端商务风向标带你领略黑科技作为高端商务轻薄本的领跑选手,华硕灵耀X纵横凭借出色的外观设计和高版本的性能配置,一直是高端商务人士和科技发烧友的优选。尤其是对科技产品向来严苛的极客们,更是给该机定义为PC中的保
工资表被查!公司被重罚!你们还在这样避税吗?工资表大家肯定不陌生,因为这是每一个会计新手必做的工作之一,而现在这张表出现了大问题!随着各项政策的更新和换代,工资表也越做越提心吊胆,不为别的,因为你做的工资表可能存在涉税风险!
严查利用税收洼地逃避税!今天起,企业这10种行为要小心了重磅!还以为税收洼地是避税天堂?国家刚宣布!严查利用税收洼地逃避税!大变革!中央发文!严查利用税收洼地逃避税!划重点1对利用税收洼地的避税行为加大监督检查力度,被首次提出!而且,对
为什么老干妈万达滴滴这么大的公司,竟然都是小微企业?今天小编在网上冲浪的时候发现老干妈竟然是小微企业!除此之外,中国烟草万达集团滴滴等大企业也都是小微企业,这里有什么门道?01hr大公司纷纷争当小微企业,少交税还多补贴!要说,大公司
中国铁路局招会计,工资8000元起,包食宿,但中国铁路局,中国最大的央企,有铁老大之称。经过几番改革,2019年6月,已经更名为现在的中国国家铁路集团有限公司,是由中央管理的国有独资公司。今天简要给大家概括一下这个铁老大。世界
中国铁路局招会计工资8000元起,结婚生娃发钱,财会专业优先录用之前给大家介绍过国家电网中石油军队文职等铁饭碗。今天再给大家推荐一个中国铁路局。目前各地铁路局陆续招聘,有大量财务岗可投,我们来看下!国字头的企业,待遇肯定不会差,除了五险一金,结
任天堂与Switch在中国还能创造出多少可能性?自2017年3月Switch面世至今,这款任天堂第九世代游戏主机已经在全球取得了空前的成功。截止到2020年12月31日,Switch主机销量已达7987万台,软件总销量达5。32
中国进一步打击虚拟货币,牛市还在吗?9月25日,人民银行官网发布进一步防范虚拟货币交易炒作风险的通知。核心要点1十个部委参与,各省政府负责。说明参与交易的人多,且风险较大,才引起中央重视,并且压实到各地政府头上来监管