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 一个图片切换的插件
Oct 09 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
Sep 25 Javascript
JavaScript的arguments对象应用示例
Sep 15 Javascript
JavaScript中的Math.atan2()方法使用详解
Jun 15 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
node.js基于mongodb的搜索分页示例
Jan 22 Javascript
jQuery中on方法使用注意事项详解
Feb 15 Javascript
jQuery实现简单的手风琴效果
Apr 17 jQuery
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
小程序测试后台服务的方法(ngrok)
Mar 08 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
Jul 03 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
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
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
js树形控件脚本代码
2008/07/24 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
python实现DES加密解密方法实例详解
2015/06/30 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
python正则-re的用法详解
2019/07/28 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python对XML文件的操作实现代码
2020/03/27 Python
pygame实现弹球游戏
2020/04/14 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
美国电视购物HSN官网:HSN
2016/09/07 全球购物
柯基袜:Corgi Socks
2017/01/26 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
农救科工作职责
2013/11/27 职场文书
青年志愿者活动总结
2014/04/26 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
奖学金感谢信
2015/01/21 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016年父亲节寄语
2015/12/04 职场文书
七年级生物教学反思
2016/02/20 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
Python语言规范之Pylint的详细用法
2021/06/24 Python