10分钟弄懂javascript数组

建议阅读时间 : 10分钟

主要内容:javascript数组的基本概念、属性、方法

新建数组:

var arr01 = ["a","b","c","d"];
var arr02 = new Array("a","b","c","d");

上面的两个方法都可以创建数组 ["a","b","c","d"];

区别:arr02是通过Array类创建,arr01是通过js内部提供的字面量的方式赋值创建。

new Array()括号中可以接收两种类型的参数,第一种:数组的内布值(如上面代码),第二种:一个数字,规定数组的长度(空数组);

数组的取值与赋值

取值:通过下标 arr01[0]  即可取得arr01中的 "a"

赋值:通过下标 arr01[0] = "m" 即可修改arr01种的"a"为"m"

如果赋值的时候下标比原来的长度大,比如 arr01[6] = "k", 那么数组的长度会变成7,其中的5、6位会赋值undefined

数组的长度

通过 arr01.length 获取

也可以通过长度赋值改变,如 arr01.length=3,及修改了长度

当修改的长度小于原来长度的时候,就会去删掉多余下标上的值,如果大于原来的长度,那多出的长度部分就会赋值undefined

数组的遍历

一般的for循环

for(var i=0; i<arr01.length; i++){
        console.log(arr01[i]);
    }

for in 循环

for( index in arr01){
        console.log(arr01[index]);
    }

两个循环都能获取数组的所有值

区别:第一种可以循环出所有下标的值,包括没有赋值的下标的值(undefined), 第二种只循环有值得部分,没有赋值的下标不会被循环

数组的常用方法:

join( ) :把数组的所有元素放入一个字符串,通过一个的分隔符进行分隔
pop( ):删除并返回数组的最后一个元素
push( ):向数组的末尾添加一个或更多元素,并返回新的长度
shift():删除并返回数组的第一个元素
unshift():向数组的开头添加一个或更多元素,并返回新的长度

reverse():颠倒数组中元素的顺序
sort( ):对数组的元素进行排序
concat():连接两个或更多的数组,并返回结果
slice():从某个已有的数组返回选定的元素
splice():删除元素,并向数组添加新元素

多维数组:

其实就是数组内部再包含数组。其操作和一维数组完全一致,比如下面的二维数组:

[
    ["Name0", "Age0", "Address0"],
    ["Name1", "Age1", "Address1"],
    ["Name2", "Age2", "Address2"]
]

完!

时间: 2024-12-16 12:57:04

10分钟弄懂javascript数组的相关文章

这一次,彻底弄懂 JavaScript 执行机制

本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我. 文章转自:https://juejin.im/post/59e85eebf265da430d571f89 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序.因为javascript是一门单线程语言,所以我们可以得出结论: javascript是按照语句出现的顺序执行的 看到这里读者要打人了:我难道不知道js

【白话篇】10分钟搞懂字符编码

如上图所示为常见的,让人看了头晕的 几个种编码. 看懂下面几条规则,你就明白他们的关系了. [1]有些人说,GBK严格来说是字符集,而utf-8则是编码,这种区分已经相当模糊了,他们都是"字节到字符的映射关系",所以下面都用编码来说吧. [2] ISO-8859-1 这种编码是单字节编码,衍生于ASCII,表示范围0-255,只要按照ASCII的规则设计的编码,不管是几字节的,都可以和ISO-8859-1兼容. [3]比如说,GBK编码(双字节)能转化成ISO-8859-1编码,是因为

彻底弄懂 JavaScript 执行机制

本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我. 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序.因为javascript是一门单线程语言,所以我们可以得出结论: javascript是按照语句出现的顺序执行的 看到这里读者要打人了:我难道不知道js是一行一行执行的?还用你说?稍安勿躁,正因为js是一行一行执行的,所以我们以为js都是这样的: let a

花10分钟搞懂开源框架吧 - 【NancyFx.Net】

原文:花10分钟搞懂开源框架吧 - [NancyFx.Net] NancyFx是什么? Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互. Nancy 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DS

5分钟读懂JavaScript预编译流程

5分钟读懂JavaScript预编译流程 javascripttypescriptes6es5 阅读约 7 分钟 大家都知道JavaScript是解释型语言,既然是解释型语言,就是编译一行,执行一行,那又何来预编译一说呢?脚本执行js引擎都做了什么呢?今天我们就来看看吧. 1-JavaScript运行三部曲 语法分析 预编译 解释执行 语法分析很简单,就是引擎检查你的代码有没有什么低级的语法错误: 解释执行顾名思义便是执行代码了: 预编译简单理解就是在内存中开辟一些空间,存放一些变量与函数 :

十分钟弄懂:数据结构与算法之美 - 时间和空间复杂度

复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半了. 1. 什么是复杂度分析 ? 数据结构和算法解决是 "如何让计算机更快时间.更省空间的解决问题". 因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能. 分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度. 复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系. 2. 为什么要进行复杂度分析 ? 和性能测试相比,复杂度分析有不依赖执行环境.成本低.效率高.易操作.

十分钟读懂JavaScript原型和原型链

原型(prototype)这个词来自拉丁文的词proto,意谓"最初的",意义是形式或模型.在JavaScript中,原型的探索也有很多有趣的地方,接下来跟随我的脚步去看看吧.原型对象释义每一个构造函数都有一个与之相关联的对象,该对象称之为原型对象.每个实例对象都能共享其原型对象上的属性和方法.原型对象的作用主要用来实现属性的继承,让实例对象能共享原型对象的属性,减少内存分配.所以,在上一节中,我们想在每个Person对象中共享同一个say方法,可以这样来实现.function Per

彻底弄懂后缀数组

  什么叫后缀数组  首先要知道什么叫后缀 ? 比如 字符串 abcdef  那么 abcdef    bcdef    cdef     def       ef       f 就叫做后缀  也就是从最后一个字母之前的一个字母开始一直到最后一个字母(所以所 bcd不是后缀 因为没有到最后一位f)  所构成的字符串就叫做后缀 至于后缀数组能干什么?我在这就不介绍了  这不是本文的重点!本文主要讲解后缀数组应该怎么写代码! 写本文的原因 但是自己之前读过很多后缀数组的文章  短短二三十代码  却

完全弄懂后缀数组

什么叫后缀数组  首先要知道什么叫后缀 比如 字符串 abcdef  那么 abcdef bcdef cdef def ef f 就叫做后缀  也就是从最后一个字母之前的一个字母开始一直到最后一个字母  所构成的字符串就叫做后缀 至于后缀数组能干什么?我在这就不介绍了  我想你既然知道后缀数组就一定知道他的用处 但是自己之前读过很多后缀数组的文章  短短二三十代码  却没有找到一篇博客从头到尾讲解的 自己断断续续一个月终于算是对倍增算法(就是一个名字  不必纠结什么叫倍增算法)的有个比较深入理解