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 相关文章推荐
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
Dec 15 Javascript
纯js实现手风琴效果代码
Apr 17 Javascript
jQuery中animate的几种用法与注意事项
Dec 12 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
d3.js中冷门却实用的内置函数总结
Feb 04 Javascript
vue按需加载组件webpack require.ensure的方法
Dec 13 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
浅谈Vue响应式(数组变异方法)
May 07 Javascript
微信二次分享报错invalid signature问题及解决方法
Apr 01 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 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中的字符串函数
2006/10/09 PHP
杏林同学录(三)
2006/10/09 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP header函数分析详解
2011/08/06 PHP
PHP中的Memcache详解
2014/04/05 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
让您的菜单不离网站
2006/10/03 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
大学生学习生活的自我评价
2013/11/01 职场文书
回门宴新郎答谢词
2014/01/12 职场文书
环保建议书300字
2014/05/14 职场文书
教研处工作方案
2014/05/26 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
优秀教师个人总结
2015/02/11 职场文书
小鞋子观后感
2015/06/05 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
工程移交协议书
2016/03/24 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python