JavaScript 数组-阿里云开发者社区

开发者社区> 白穆羽> 正文

JavaScript 数组

简介: JavaScript 数组
+关注继续查看

创建和初始化数组



let arr1 = new Array();//创建了一个空数组

let arr2 = new Array(5);//创建了一个长度为5,每项都为空的数组

let arr3 = new Array(1,2,3);//创建数组[1,2,3]

let arr   = [];//创建了空数组  等同于arr1

let arrs = [1,2,3];//等同于arr3 


数组的属性


let arrLen = arr.length;//0 返回arr数组的长度


添加数组元素


arr[arrLen] = 1;//[1]  在数组最后一个空位赋值即可

arr.push(2,4,5);//[1,2,4,5] push 在数组后面按照括号里的顺序插入值 可以push任意个元素

let aLen = arr.unshift(10);//[10,1,2,4,5] unshift 在数组头部插入元素 可以unshift任意个元素  并且返回新的数组长度


删除输入元素


let a0 = arr.shift();//[1,2,4,5] 删除数组第一个元素,并且返回被删除的元素 

let a4 = arr.pop();//[1,2,4]删除数组最后一个元素,并且返回被删除的元素



二维数组和多维数组

JavaScript只支持一维数组,并不支持矩阵,因此


let arr= [][];//会直接报错 Uncaught SyntaxError: 语法错误
let arr = [];
let arr[0] = [1,3,5,7,9];
let arr[1] = [2,4,6,8,10];

这样arr就成为了二维数组。arr[0][4] 就等于9了。

如果要循环打印出来所有元素,有几维就需要使用几层循环。


数组方法参考:

1.concat()    数组合并


let arr1 = [1,2,3];
let arr2 = [4,5,6];
lat arr = arr1.concat(arr2);//arr : [1,2,3,4,5,6]; 原数组不变


 

2.join()    把数组的所有元素放入一个字符串,通过指定分隔符分割。

let arr = arr1.join('-');//arr: '1-2-3',原数组不变


3.pop()    删除并返回数组的最后一个元素


4.push()    向数组末尾添加元素,并且返回新的数组长度


5.reverse()    颠倒数组中的元素顺序 


6.shift()    删除并返回数组第一个元素


7.slice(start,end)    从数组返回选定的元素

var arr = arr1.slice(0,1);//arr:[1] 从零开始选,选中到1的前一个 


8.sort()    数组排序

不能直接使用,需要自定义函数方法,在使用方法排序


9.splice()    删除元素,并向数组添加新元素

var arr = arr1.slice(1,2,11,12,13,14);

//arr:[2,3],arr1[1,11,12,13,14]

从下标为1开始删除两个,并在从下表为1的地方开始插入前两个参数之外的所有数据,返回被删除的元素,且返回格式为数组


10.toString()    与join()方法不传参效果一样 


11.unshift()    向数组头部添加元素,并返回新的长度


12.valueOf()    返回数组对象的原始值

只能是boolean类型,否则会报错 不常用


13.toSource()     toLocaleString()   这两个太少见,就不解释了。






6efab1869072f77cc579de71871a9af95bee2342

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
说出你和「云原生」的故事,获得年度云原生顶级盛会通行证
快来投稿你与云原生的故事,即可获得价值 350 元的 KubeCon + CloudNativeCon + OpenSource Summit 2021 China Virtual 门票!
7 0
新兴活跃在直播和游戏等各行业中的虚拟角色,你了解过了没?
今天讲的虚拟角色(也可以称为虚拟数字人),是个广而泛的概念,它可以指代各行各业形形色色的虚拟形象。最早提出这个词需要追溯到1989 年美国国立医学图书馆发起的“可视人计划”(Visible Human Project),而在中国则是在2001年,以“中国数字化虚拟人体的科技问题”为主题的香山科学会议第 174 次学术讨论会提出了“数字化虚拟人体”的概念。
4 0
java bean
JavaBean的属性可以是任意类型,并且一个JavaBean可以有多个属性。
4 0
前端需要了解云原生么?
作为一个前端开发者,云原生这个概念对我来说是比较陌生的。看到这次的主题,我想起来我以前无意中看到过的一篇文章。“云原生(cloud native)是一种基于云的基础之上的软件架构思想,以及基于云进行软件开发实践的一组方法论” 这句话就是从文章中看到的
22 0
AI面试催生韩国新型补习班:200元一小时,面对摄像头练习用眼睛微笑
「微笑不要靠嘴唇,要从眼睛里透出来」,在 200 元一小时的补习班里,韩国培训老师这样传授面对「AI 面试官」的诀窍。对于那些待业已久的韩国年轻人来说,只要能通过大公司的 AI 面试,支付昂贵的补习费用根本算不上什么。
5 0
声称掌握核心技术,实则换皮Python?国产编程语言木兰引起社区热议
近日有媒体称,一款面向智能物联网和编程教育的国产编程语言出世,名为木兰。消息一出,引起了开发者社区的讨论。但有人发现,下载的程序包解包后——是个 Python?
5 0
SpringCloud-分布式配置中心【入门介绍】
SpringCloud-分布式配置中心【入门介绍】
5 0
暗中观察,没有「头环」:AI摄像头就可以看出你上课是否走神
在AI摄像头走进课堂后,伪装认真听课也是越来越难了。近日,港科大、哈工程的研究者开发了一种用AI摄像头记录、分析学生情感变化的系统,不仅能知道学生什么时候开始走神,还能具体看到每个学生一整节课的「心路历程」。
6 0
SpringBoot【SpringMVC+mybatis完成CRUD案例】
本文介绍SpringBoot整合SpringMVC和mybatis在IDEA中通过maven项目来对user表数据完成CRUD操作,前端使用Thymeleaf来实现。
6 0
SpringBoot【整合Thymeleaf】
SpringBoot中推荐使用的前端模板框架是Thymeleaf,所以本文来介绍下怎样整合Thymeleaf。
5 0
+关注
白穆羽
梦想与现实都要勇往直前
5
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载