21、数组

  • 定义数组

* 字面量方式

 var 数组名称 = [ value,value,... ]

* 构造函数方式

var 数组名称 = new Array(value,value,...)  var 数组名称 = new Array(length)

              创建对象方式创建数组分析图

 

附:var num1 = 100; // number            var num2 = new Number(100); // object

var str1 = 'string'; // string             var str2 = new String('string'); // object

var boo1 = true; // Boolean            var boo2 = new Boolean(true); // object

var arr1 = [1,2,3,4]; // object          var arr2 = new Array(1,2,3,4); // object

数组分类

²       索引数组 - 默认创建的数组

(1)创建了空数组  (2)基于空数组创建索引数组

格式:var 数组名称 = new Array( );  数组名称[索引值] =值; 

索引值是数字(从0开始)】

注:当在某个具体位置上没有存储任何值时 - undefined

²     关联数组 - 类似于JavaScript的对象

格式:var 数组名称 = new Array( );  数组名称[索引值] =值;索引值是字符串】

注:ECMAScript官方规范中并没有提供关联数组的概念

稀疏数组

概念:数组的长度大于数组中元素的个数   数组中元素没有值的情况下,默认undefined

u    数组的属性-长度

非稀疏数组:  length 属性的值 = 当前数组包含元素的个数。

稀疏数组:    length 属性的值 > 当前数组包含元素的个数。

eg: var arr2 = [ ];    arr2[14] = ‘a’ ;  console.log( arr2.length );// 输出 15

操作(获取/修改/删除)

²  获取数组中的元素:数组名称[索引值]

² 修改数组中的元素:数组名称[索引值] = 新的值

² 删除数组中的元素:delete 数组名称[索引值]

注:只删除对应位置上的值,但位置保留 - undefined

u  遍历数组

* for语句: 遍历数组可以控制的开始和结束

* for.in语句:只能遍历数组从开始到结束

u  变量与数组

变量的赋值操作解析图

              数组的赋值操作解析图

u  二维数组

概念: 数组的嵌套结构   遍历:for嵌套语句

l  常见的操作方法

  • 检测数据类型
  • 转换方法  toString( )
  • 进出栈—添加/删除   【对原数组有影响;删除则返回元素 添加则返回长度】

push( ) - 向数组的最后添加元素                pop() - 删除数组中最后一个元素

unshfit( ) - 向数组的开始添加元素              shfit( ) - 删除数组中第一个元素

  • 排序方法

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

sort( ) - 对数组的元素进行排序

【注: 默认排序不是由小到大的排序。若是两位数,则按第一位数来排列】

方法:通过 数组名称.sort( ) 里面构造函数,来改变默认的排序,使得按顺序序排列。

eg:  arr.sort(function(a,b){

return a < b ;                     ------  < 由大到小;  > 由小到大

});

  • 截取方法:

² slice(start,end)                                  【注:对原数组没有任何影响】                             

start---表示从数组的哪个索引值开始截取;       end---默认情况下,表示数组最后结束

设置值: 表示截取到当前索引值的前一个         返回值: 截取的结果

var arr1 = arr.slice(1,3);    console.log(arr,arr1);

² splice(index, howmany, element1,element2,...elementN)      【注:默认是一个数组】

index---表示当前数组的索引值(删除或添加的位置)

howmany ---表示删除元素的个数(若为0,则表示不删除)     element1---表示添加的元素

* 注意 - 被添加到数组的 index 位置上;       返回值 - 表示当前删除的元素

  • 搜索内容—>位置

²  indexOf(element)

element - 表示在数组中搜索的元素内容

用法:从数组中索引值为0开始搜索,依次向后;   返回值:第一个匹配的元素的索引值

注:如果搜索的元素在数组中不存在,则返回 -1

²   lastIndexOf(element)

element - 表示在数组中搜索的元素内容

用法:                                     返回值:最后一个匹配的元素的索引值

JavaScript基础知识(数组)的更多相关文章

  1. javascript基础知识-数组

    1.javascript创建数组时无需声明数组大小或者在数组大小变化时重新分配 2.javascript数组是无类型的 3.数组元素不一定要连续 4.针对稀疏数组,length比所有元素的索引都要大 ...

  2. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  3. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  4. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  5. C语言基础知识-数组和字符串

    C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...

  6. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  7. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  8. JavaScript基础知识整理

    只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...

  9. JavaScript基础知识从浅入深理解(一)

    JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...

  10. JavaScript基础知识梳理,你能回答几道题?

    在学习JavaScript的时候,总是这里学一点,那里学一点,很的很零星,很杂,没有很系统的去学习,感觉好像JavaScript的知识点都了解了,但是真正要说起来,又不知道从何说起! 最深刻的体会就是 ...

随机推荐

  1. 翻译:MariaDB RENAME TABLE语句

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. 将ZIP文件添加到程序集资源文件然后在运行时解压文件

    今天做安装打包程序研究,之前同事将很多零散的文件发布成一个安装文件夹给用户,这样体验不好,我希望将所有文件打包成一个.net程序,运行此程序的时候自解压然后执行后续的安装步骤. 解决过程: 1,将所有 ...

  3. WCF系统内置绑定列表与系统绑定所支持的功能

      WCF系统内置绑定列表 绑定 配置元素 说明 传输协议 编码格式 BasicHttpBinding <basicHttpBnding> 一个绑定,适用于与符合 WS-Basic Pro ...

  4. Google Chrome谷歌/火狐/Safari浏览器开发者工具基本使用教程

    前言 在阅读下面内容之前,那么些简单的了解浏览器开发者工具到底是什么东西,到底有什么用途. 浏览器开发者工具到底是什么? 其实简单的说,浏览器开发者工具就是给专业的web应用和网站开发人员使用的工具, ...

  5. dropout理解:1神带9坑

    Dropout是深度学习中防止过拟合的一项非常常见的技术,是hinton大神在12年提出的一篇论文里所采用的方法.有传言hinton大神的数学功底不是很好,所以他所提出的想法背后的数学原理并不是很复杂 ...

  6. 浅谈传统语音通信和APP语音通信音频软件开发之不同点

    本人在传统的语音通信公司做过手机和IP电话上的语音软件开发,也在移动互联网公司做过APP上的语音软件开发.现在带实时语音通信功能的APP有好多,主流的有微信语音.QQ电话.钉钉等,当然也包括我开发过的 ...

  7. BZOJ 4553 Tjoi2016&Heoi2016 序列

    Tjoi2016&Heoi2016序列 Description 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他.玩具上有一个数列,数列中某些项的值 可能会变化,但同一个时刻最 ...

  8. MySQL 字符集问题及安全的更新操作

    一.字符集乱码 1.操作系统字符集 [root@mysql5 ~]# cat /etc/system-release /etc/sysconfig/i18n CentOS release 6.5 (F ...

  9. Webservice接口的调用

    一.开发webservice接口的方式 1.jdk开发. 2.使用第三方工具开发,如cxf.shiro等等. 我这边介绍jdk方式webservice接口调用. 二.使用jdk调用webservice ...

  10. Android SDK Manager配置

    Android SDK Manager就是一个Android软件开发工具包管理器,就像一个桥梁,连通本地和服务器,从服务器下载安卓开发所需工具到本地. 而AVD Manager是一个Android虚拟 ...