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操作select控件的几种方法
Jun 02 Javascript
javascript函数中的arguments参数
Aug 01 Javascript
JavaScript 更严格的相等 [译]
Sep 20 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
angular6 填坑之sdk的方法
Dec 27 Javascript
vue实现侧边栏导航效果
Oct 21 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
解决vue一个页面中复用同一个echarts组件的问题
Jul 19 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
Aug 04 Javascript
vue 插槽简介及使用示例
Nov 19 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
如何去掉文章里的 html 语法
2006/10/09 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP解决中文乱码
2017/04/28 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
JavaScript DOM节点添加示例
2014/07/16 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
快速入门Vue
2016/12/19 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
Angular排序实例详解
2017/06/28 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
python 合并文件的具体实例
2013/08/08 Python
python文件操作整理汇总
2014/10/21 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
留学生如何写好自荐信
2013/12/27 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
个人作风剖析材料
2014/02/02 职场文书
群众路线党课主持词
2014/04/01 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
森林病虫害防治方案
2014/06/02 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
小学安全教育主题班会
2015/08/12 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
Python实战之实现简易的学生选课系统
2021/05/25 Python
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python