javascript数组定义的几种方法


Posted in Javascript onOctober 06, 2017

1、什么是数组

数组就是一组数据的集合
其表现形式就是内存中的一段连续的内存地址
数组名称其实就是连续内存地址的首地址

2、关于js中的数组特点

数组定义时无需指定数据类型
数组定义时可以无需指定数组长度
数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)

创建数组的语法:

var arr=[值1,值2,值3];                     //隐式创建

var arr=new Array(值1,值2,值3);      //直接实例化

var array=new Array(size);           //创建数组并指定长度

//方法一
var arr1 = [1,3,5,7,9];
document.write(arr1[2] + '<br>');
 
//方法二
var arr2 = new Array(2,4,6,8,10);
document.write(arr2[3] + '<br>');
 
//方法三
var arr3 = new Array(3);//固定数组长度为3
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;
document.write(arr3[2] + '<br>');

JS中符号含义:

()表示函数执行
[]表示语法模拟,表示模拟Array类的实例(=new Array())
{}表示语法模拟,表示模拟Object类的实例(=new Object())
//表示语法模拟(正则对象),表示模拟RegExp类的实例(=new RegExp())

3、关于数组长度

数组对象.length

在js中,每一个数组对象都可以调用length属性,它表示数组对象下共有几个数组元素

示例:

var row = ['zhangsan','lisi','wangwu'];
doucument.write('共有'+row.length+'个人<br>');

var length = row.length;//对数组进行遍历
for (var i=0;i<length;i++){
doucument.write(row[i]+'<br>');
}

4、for...in语句

在js中,数组不是数据类型,数组的数据类型其实就是对象

Js中的For.....in语句可以实现对一个对象的所有属性的遍历

也可以使用for...in语句实现对一个数组的所有元素的遍历

语法:

for( var i in array ){

}

原理:数组中有几个元素,for..in语句就循环执行多少次

每次执行时,将当前数组元素的下标存放到变量i中

var row = ['zhangsan','lisi','wangwu','xiaoqiang'];
for (var i in row){
 document.write(i + ':' + row[i] + '<br>');
}

结果:

0:zhangsan

1:lisi

2:wangwu

3:xiaoqiang

5、文本下标

格式:

arr['key'] = value;

在js中,文本下标的数组元素,不计入数组长度

以文本下标形式添加到数组,实际是以属性形式添加到数组对象中的

var arr = [1,2,3];
arr['first'] = 'zhangsan';
arr['second'] = 'lisi';

document.write(arr.length + '<br>');
document.write(arr.first + '<br>');
document.write(arr.second + '<br>');

结果:

3

zhangsan

lisi

遍历带有文本下标的数组:

var arr = [1,2,3];
arr['first'] = 'zhangsan';
arr['second'] = 'lisi';

for(var i in arr){
 document.write(i + ':' + arr[i] + '<br>');
}

结果:

0:1

1:2

2:3

first:zhangsan

second:lisi

6、多维数组

var arr = [
  [10,'zhangsan','male'],
  [11,'lisi','female'],
  [12,'wangwu','male']
 ];
for (var i in arr){
 for(var j in arr[i]){
  document.write(arr[i][j]);
 }
 document.write('<br>');
}

下面是三水点靠木的补充

1.先定义再赋值

var myArray1 = new Array(); //不定义元素个数
  myArray1[0] = "脚";
  myArray1[1] = "本";
  myArray1[2] = "之";
 myArray1[3] = "家";
var myArray2 = new Array(4); //定义元素的个数
  myArray1[0] = "脚";
  myArray1[1] = "本";
  myArray1[2] = "之";
 myArray1[3] = "家";

 2.定义数组时同时赋值

var myArray3 = new Array("脚","本","之","家");

//你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量

3、json格式的定义

var myArray4 = [
   {"num":"1001","name":"jack","age":16},
   {"num":"1002","name":"Mary","age":17},
   {"num":"1003","name":"Tom","age":19}
   ];
//注意中括号和大括号的位置

不懂的同学可以查看这篇文章:https://3water.com/article/20688.htm

Json定义用法和数组的区别

Json:是在javascript用来存数据的一种方法。
Json形式: var Json={a:1 , b:2 , c:3};
数组形式:var arr=[1,2,3];

Json个数组的区别:

1、Json的下标是字符串,如调用第一个数据时用:Json.a 。 数组的下标是数字如 arr[0]
2、Json没有length,数组有lengt

用Json来存数据,如果遇到需要循环需要用 for(元素变量 in 变量名){};因为Json没有length所以要用for in循环,for in循环可以用于Json和数组

for(i in Json){
  语句
};

什么时候用for循环,什么时候用for in循环?
数组:用for循环 for(i=0,i<length,i++){};
Json:用for in循环 for(i in Json){};

 4. 注意

   · 数组只有数组长度一个属性
   · 如果没有给数组赋值得到的是undefined,打印是”“
   · 数组长度不够可以自动扩充,不存在越界的问题

Javascript 相关文章推荐
基于jquery可配置循环左右滚动例子
Sep 09 Javascript
node.js中的socket.io入门实例
Apr 26 Javascript
jQuery 处理页面的事件详解
Jan 20 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 Javascript
浅析vue-router实现原理及两种模式
Feb 11 Javascript
elementui实现预览图片组件二次封装
Dec 29 Javascript
js判断两个数组相等的5种方法
May 06 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 #Javascript
node.js中http模块和url模块的简单介绍
Oct 06 #Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 #Javascript
vue-cli构建项目使用 less的方法
Oct 04 #Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 #Javascript
浅谈angular2路由预加载策略
Oct 04 #Javascript
浅谈Angular路由复用策略
Oct 04 #Javascript
You might like
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
php字符串截取的简单方法
2013/07/04 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
python的格式化输出(format,%)实例详解
2018/06/01 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
python3爬取torrent种子链接实例
2020/01/16 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
酒店管理专业毕业生推荐信
2013/11/10 职场文书
机械工程师的岗位职责
2013/11/17 职场文书
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
2014年信访工作总结
2014/11/17 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
升学宴学生致辞
2015/07/27 职场文书
家访教师心得体会
2016/01/23 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
Python pygame实现中国象棋单机版源码
2021/06/20 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫