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 相关文章推荐
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 Javascript
extjs表格文本启用选择复制功能具体实现
Oct 11 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
详解javascript的变量与标识符
Jan 04 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
angularjs 页面自适应高度的方法
Jan 17 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
Oct 25 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 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导入导出excel实例
2013/10/25 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
JavaScript中的私有成员
2006/09/18 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
python 下划线的不同用法
2020/10/24 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
香港零食网购:上仓胃子
2020/06/08 全球购物
农业大学毕业生的个人自我评价
2013/10/11 职场文书
行政助理的职责
2013/11/14 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
临时用工协议书范本
2014/10/29 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书