JavaScript 数组1—索引数组
索引数组:下标是数字数组
㈠什么是?
内存中连续储存多个数据的数据结构,再起一个统一的名字
㈡为什么?
①普通的变量只能存储一个数据程序=数据结构+算法
②算法:解决问题的步骤
③数据结构:数据在内存中的存储结构
好的数据结构可以极大的提高程序的执行效率
㈢何时?
只要存储多个连续的数据
㈣创建
★创建空数组: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—索引数组的更多相关文章
- 10——PHP中的两种数组【索引数组】与【关联数组】
[索引数组] 用数字作为键名的数组一般叫做索引数组.用字符串表示键的数组就是下面要介绍的关联数组.索引数组的键是整数,而且从0开始以此类推. 索引数组初始化例: <pre name=" ...
- 关联数组VS索引数组
关联数组和常规说的数组类似,它包含标量抄数据,可用索引值来单独选择这些数据,和常规数组不同的是, 关联数组的索引值不是非负的整数而是任意的标量袭.这些标量称为百Keys,可以在以后用于检索数组中的数值 ...
- JavaScript基础知识(数组)
21.数组 定义数组 * 字面量方式 var 数组名称 = [ value,value,... ] * 构造函数方式 var 数组名称 = new Array(value,value,...): ...
- javascript中对象和数组的异同点
一.JS声明对象或数组 JS对象:{ } JS数组:[ ] 对象 var b={m:'123',n:'abc'};alert(b.m);alert(b.n); 一维数组 var a=[1,2,3];a ...
- JavaScript 数组2—关联数组
㈠什么是关联数组 可以自定义下标名称的数组 ㈡为什么 索引数组中的数字下标没有明确的意义 ㈢何时 只希望每个元素都有专门的名称时 ㈣如何:2步 1)创建空数组 2)向空数组中添加新元素,并自定义下标名 ...
- ndarray数组的索引和切片
索引:获取数组中特定位置元素的过程 切片:获取数组元素子集的过程 import numpy as np 一维数组 一维数组的索引和切片与python中的列表类似 索引:若元素个数为n,则索引下标可表示 ...
- 普通数组和json数组的区别
PHP 数组 什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值. 在 PHP 中创建数组 在 PHP 中, array() 函数用于创建数组 在 PHP 中,有三种数组类型: 索引数组 - ...
- JS数组与PHP数组的对比
一.分类与创建 1:JS的数组都是索引数组,数组是一种特殊的对象,创建数组的方式有两种 //方式一 var arr1 = ['关羽', '张飞', '赵云', '马超', '黄忠']; //方式二 v ...
- (一)javascript中的数组index属性——获取数组的索引值
例如:要做到这样的效果 点击每个选项时,会显示不同的div. 我们的做法:在javascript中,先把所有的div的display设置为none,然后在根据当前的数组里的索引值进行一个显示div的过 ...
随机推荐
- MSF魔鬼训练营-3.3.2 口令猜测与嗅探
密码暴力破解以SSH为例,其他协议方法类似 SSH msf > use auxiliary/scanner/ssh/ssh_login msf auxiliary(ssh_login) ...
- 【转帖】Linux上,最常用的一批命令解析(10年精选)
Linux上,最常用的一批命令解析(10年精选) https://juejin.im/post/5d134fbfe51d4510727c80d1 写的挺好呢 Linux这么多命令,通常会让初学者望而生 ...
- CentOS7 Python3安装redis
CentOS7安装配置Redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 想下载哪个版本可以复 ...
- win10子系统Ubuntu重置
重置: 在win10命令行下执行: lxrun /uninstall /full 安装: win+R打开bash 执行命令: lxrun /install /y
- leecode刷题(24)-- 翻转二叉树
leecode刷题(24)-- 翻转二叉树 翻转二叉树 翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 ...
- Spring Cloud Alibaba nacos 配置中心使用
背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring-cloud-a ...
- Java高并发程序设计学习笔记(二):多线程基础
转自:https://blog.csdn.net/dataiyangu/article/details/86226835# 什么是线程?线程的基本操作线程的基本操作新建线程调用run的一种方式调用ru ...
- VUE 从零开始 学习笔记 一
最近刚跳到一个新公司 不是很忙 决定系统的学习一下VUE这个前端框架 参考官方API 好了 废话不多说 开始了 首先 说一下吧 现在很火的主流三大前端框架 Vue,Angular.React, 为什么 ...
- 直通BAT必考题系列:JVM性能调优的6大步骤,及关键调优参数详解
JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数. 1.Full GC 会对整个堆进行整理,包括Young.Tenured和Perm.Full GC因为需要对 ...
- Vi编辑器中查找替换
1 第一个是替换当前行的yesterday为all 第二个是替换全局的 yesterday 为all :s/yesterday/all :s/yesterday/all/g