索引数组:下标是数字数组


㈠什么是?

内存中连续储存多个数据的数据结构,再起一个统一的名字

㈡为什么?

①普通的变量只能存储一个数据程序=数据结构+算法

②算法:解决问题的步骤

③数据结构:数据在内存中的存储结构

   好的数据结构可以极大的提高程序的执行效率

㈢何时?

只要存储多个连续的数据

㈣创建

★创建空数组:2种

①数组直接量:var arr = [ ];

②用new:var arr = new Array();

     新建   数组

   何时:在创建数组时,还不知道数组中的元素内容时

 

③示例

var arr1 = [ ];                              //定义一个不包含元素的数组

var arr2 = [97,85,79];                 //定义一个包含3个元素的数组

var arr3 = new Array( );             //定义一个不包含元素的数组

var arr4 = new Array("Tom","Mary","John");              //定义一个三个字符串元素的数组

 

★创建数组同时初始化

①数组直接量:var arr = [元素1,元素2,...];

②用 new: var arr = new Array(元素1,元素2,...);

何时:在创建数组时,已经知道数组的元素内容

③示例

var array = [4500,5500,5000];

var array = new Array('市场部','研发部','运营部');

 

★先声明空数组,再添加元素

var empArray = [ ];

empArray[0] = 'Scott';

empArray[1] = 'Smith';

 

混合元素类型数组

var mArray = new Array();

mArray[0] = '三国志';

mArray[2] = 195;

mArray[5] = true;

 

㈤访问数组中的元素

①元素:数组中每个数据都是一个元素

②如何访问:下标:数组中唯一标识每个元素存储位置的序号

③特点:从0开始,连续不重复

④何时:只要访问数组元素,只能用下标

⑤如何:数组名[i]—用法和单一变量完全一样!

 

㈥数组GET操作与SET操作

①设置数组元素的值——SET

var scores = [95,88,100];   

scores = [2] = 98;          //将值为100的元素重新赋值为98

scores = [3] = 75;          //在数组尾部添加一个新元素

下标从0开始,最大到length-1

 

②获取数组元素的值——GET

var cities = new Array('南京','杭州','青岛');

console.log(cities[1]);                 //杭州

console.log(cities[3]);                //undefined

不会抛出数组下标越界异常

 

㈦访问数组中的元素

①数组的length属性

记录了数组中理论上的元素个数length属性的值永远是最大下标+1

②示例1

var arr4 = new Array(10);

console.log(arr4.length);               //长度为10

③示例2

var arr5 = [ ];              //长度为0

arr5[0] = 87;              //长度变为1

arr5[3] = 98;             //长度变为4

 

㈧数组的遍历

遍历数组元素,通常选择for循环语句,元素的下标作循环变量

var nums = [50,90,20,10];

for(var i = 0;i <nums.length; i++){

                                            nums[ i ] += 10;

}

下标元素从0开始,到length-1结束

 

㈨固定套路

①获取数组最后一个元素

arr[arr.length-1]

②获取倒数第n个元素的位置

arr[arr.length-n]

③数组缩容

减少arr.length的数值,会删除结尾的多余元素

④遍历数组

依次访问数组中每个元素,对每个元素执行相同的操作

如:

for(var i = 0;i<arr.length;i++){

                               arr[ i ]  //当前正在遍历的元素

}

 

㈩特殊:三个不限制

①不限制数组的元素个数:长度可变

②不限制下标越界:

⑴获取元素值:不报错!返回undefined

⑵修改元素值:不报错!自动在指定位置创建元素,并且自动修改length属性为最大下标+1

⑶如果下标不连续的数组——稀疏数组

③不限制元素的数据类型

JavaScript 数组1—索引数组的更多相关文章

  1. 10——PHP中的两种数组【索引数组】与【关联数组】

    [索引数组] 用数字作为键名的数组一般叫做索引数组.用字符串表示键的数组就是下面要介绍的关联数组.索引数组的键是整数,而且从0开始以此类推. 索引数组初始化例: <pre name=" ...

  2. 关联数组VS索引数组

    关联数组和常规说的数组类似,它包含标量抄数据,可用索引值来单独选择这些数据,和常规数组不同的是, 关联数组的索引值不是非负的整数而是任意的标量袭.这些标量称为百Keys,可以在以后用于检索数组中的数值 ...

  3. JavaScript基础知识(数组)

    21.数组 定义数组 * 字面量方式  var 数组名称 = [ value,value,... ] * 构造函数方式 var 数组名称 = new Array(value,value,...):   ...

  4. javascript中对象和数组的异同点

    一.JS声明对象或数组 JS对象:{ } JS数组:[ ] 对象 var b={m:'123',n:'abc'};alert(b.m);alert(b.n); 一维数组 var a=[1,2,3];a ...

  5. JavaScript 数组2—关联数组

    ㈠什么是关联数组 可以自定义下标名称的数组 ㈡为什么 索引数组中的数字下标没有明确的意义 ㈢何时 只希望每个元素都有专门的名称时 ㈣如何:2步 1)创建空数组 2)向空数组中添加新元素,并自定义下标名 ...

  6. ndarray数组的索引和切片

    索引:获取数组中特定位置元素的过程 切片:获取数组元素子集的过程 import numpy as np 一维数组 一维数组的索引和切片与python中的列表类似 索引:若元素个数为n,则索引下标可表示 ...

  7. 普通数组和json数组的区别

    PHP 数组 什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值. 在 PHP 中创建数组 在 PHP 中, array() 函数用于创建数组 在 PHP 中,有三种数组类型: 索引数组 - ...

  8. JS数组与PHP数组的对比

    一.分类与创建 1:JS的数组都是索引数组,数组是一种特殊的对象,创建数组的方式有两种 //方式一 var arr1 = ['关羽', '张飞', '赵云', '马超', '黄忠']; //方式二 v ...

  9. (一)javascript中的数组index属性——获取数组的索引值

    例如:要做到这样的效果 点击每个选项时,会显示不同的div. 我们的做法:在javascript中,先把所有的div的display设置为none,然后在根据当前的数组里的索引值进行一个显示div的过 ...

随机推荐

  1. 【0.3】mysql复制的日常管理维护,mysql复制常见问题处理

    [1]复制的日常管理 #复制的日常管理与维护 [1.1]show slave status\G :在从库查看从库线程状态 [1.2]flush tables with read lock;  :主从不 ...

  2. oracle数据库表恢复到特定时间点

    某一张表被应用软件里误操作把数据都清空了,现在想恢复到清空之间,比如2013年8月13日14点以前,应该怎样操作? 通过这个问题可以引发一系列的知识点串联. 1.如果开启闪回可以使用闪回表. 怎样查看 ...

  3. 如何實現输入字符串This is an Apple on eBay 输出 Siht si na Elppa no yAbe

    <?php $str = "This is an Apple on eBay"; //定义字符串 $len = strlen($str); //字符串长度 $sup = [] ...

  4. golang强制类型转换

    github.com/Unknwon/com包的使用 package main import ( "fmt" "github.com/Unknwon/com" ...

  5. 2019年8月23日 星期五(Workerman)

    Workerman,高性能socket服务框架 Workerman是什么? Workerman是一款纯PHP开发的开源高性能的PHP socket 服务框架. Workerman不是重复造轮子,它不是 ...

  6. 移动端、pc端通用点击复制

    点击复制 function copyArticle(event){ const range = document.createRange(); range.selectNode(document.ge ...

  7. maven的配置以及使用

    1.下载并配置 下载之后解压,并配置系统环境变量(网上的方法很多),配置maven的环境变量之前确保java的环境变量已经配置成功. 2.eclipse安装maven插件 eclipse安装maven ...

  8. leecode刷题(26)-- 用栈实现队列

    leecode刷题(26)-- 用栈实现队列 用栈实现队列 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部. pop() -- 从队列首部移除元素. peek() -- 返 ...

  9. 用原生js来写一个swiper滑块插件

        是不是有点印象了,没错,他的最基本的用法就是左右滑动,插件使用者只需要写几行简单的html和js即可实现一个简单滑动效果,不过你完全可以组合各种元素来适应不同的场景. 当然插件我已经写好了,咱 ...

  10. ABAP常用函数归纳

    转至:http://blog.csdn.net/forever_crazy/article/details/17707745 获取当前逻辑系统标识:OWN_LOGICAL_SYSTEM_GET 一.日 ...