js数组定义的几种方法

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];
console.log("arr1:", arr1);

//方法二 直接实例化
var arr2 = new Array(2, 4, 6, 8, 10);
console.log("arr2:", arr2);
 
//方法三 创建数组并指定长度
var arr3 = new Array(3);//固定数组长度为3
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;
console.log("arr3:", arr3);

运行截图

JS中符号含义:

()表示函数执行

[]表示语法模拟,表示模拟Array类的实例(=new Array())

{}表示语法模拟,表示模拟Object类的实例(=new Object())

//表示语法模拟(正则对象),表示模拟RegExp类的实例(=new RegExp())

3、关于数组长度

数组对象.length

在js中,每一个数组对象都可以调用length属性,它表示数组对象下共有几个数组元素

示例代码

var row = ['zhangsan','lisi','wangwu'];
console.log("row长度", row.length);

var length = row.length;//对数组进行遍历
console.log("row中的元素是:");
for (var i=0;i<length;i++){
	console.log(row[i]);
}

运行截图

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){
	console.log(row[i]);
} 

运行截图

5、文本下标

格式:

arr['key'] = value;

在js中,文本下标的数组元素,不计入数组长度

以文本下标形式添加到数组,实际是以属性形式添加到数组对象中的

示例代码

var arr = [1,2,3];
arr['first'] = 'zhangsan';
arr['second'] = 'lisi';

console.log("arr:", arr);

console.log("arr.length:", arr.length);
console.log("arr.first:", arr.first);
console.log("arr.second:", arr.second);

运行截图

遍历带有文本下标的数组:

示例代码

var arr = [1,2,3];
arr['first'] = 'zhangsan';
arr['second'] = 'lisi';

console.log("arr:", arr);

console.log("arr.length:", arr.length);

for(var i in arr){
	console.log(i + ':' + arr[i]);
}

运行截图

6、多维数组

示例代码

var arr = [
  [10,'zhangsan','male'],
  [11,'lisi','female'],
  [12,'wangwu','male']
 ];
for (var i in arr){
 for(var j in arr[i]){
  console.log(arr[i][j]);
 }
}

运行截图

 7、注意

   · 数组只有数组长度一个属性

   · 如果没有给数组赋值得到的是undefined,打印是”“

   · 数组长度不够可以自动扩充,不存在越界的问题

   · 【js数组和字符串之间的转换方式以及数组的一些方法】 js数组和字符串之间的转换方式以及数组的一些方法-CSDN博客

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值