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 数值项目的格式化函数代码
May 14 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
May 22 Javascript
javascript实现checkBox的全选,反选与赋值
Mar 12 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
详解vue-cli本地环境API代理设置和解决跨域
Sep 05 Javascript
JavaScript Date对象应用实例分享
Oct 30 Javascript
angularJS开发注意事项
May 26 Javascript
bootstrap Table实现合并相同行
Jul 19 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
在Vue中使用Echarts实例图的方法实例
Oct 10 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
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
js同时按下两个方向键
2007/12/01 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python中的filter()函数的用法
2015/04/27 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
安踏官方商城:anta.cn
2019/12/16 全球购物
医学类导师推荐信范文
2013/11/19 职场文书
大学生创业项目方案
2014/03/08 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
护士先进个人总结
2015/02/13 职场文书
毕业生党员个人总结
2015/02/14 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python