JavaScript 今日学习数组

数组

什么是数组

1、数组:数组是内存中一片连续的存储空间。
2、如何在JavaScript中声明数组:
(1)通过字面量的方式声明数组:

var a=[10,20,30,40,50,60];
//字面量方式下用字母或汉字是必须带引号,用逗号隔开
//例如var a=["sam","ssr","word"]
 声明一个数组,该数组的名称为a,该数组共有6个数组元素。
 例:var y=[];     //声明数组y,这是一个空数组
        var x=[15];   //声明数组x,只有1个数组元素 

(2)通过数组的“构造函数”声明数组:

 var b=new Array(100,200,300,400,500);
 //构造函数方式下用字母或汉字是必须带引号,用逗号隔开
//例如var a=("sam","ssr","word")
//用括号间隔
     new是一个单目运算符,后面可以跟“构造函数”。数组的构造函数名
     为Array。声明数组b,该数组共有5个数组元素。
例:var y=new Array();     //声明数组y,这是一个空数组
        var x=new Array(15);   //声明数组x,该数组共有15个元素。
         利用数组的构造函数声明数组,若只有一个参数,则该参数表示数组元素的个数。

如何获取数组元素的个数,显示所有的数组元素

使用数组的length属性,该属性可以利用数组名进行引用。
例:

var arr=[A,B,C,D,Z];
    console.log(arr.length);   //5
    var brr=[];
    console.log(brr.length);   //0
    var crr=new Array(7,1);
    console.log(crr.length);   //2
    var drr=new Array(7);
    console.log(drr.length);   //7

length为索引值,可以得知数组的索引值和数组元素的个数

显示所有的数组元素:
通过对数组名称的输出,可以显示所有的数组元素。
var w=[5,10,15,20,25,30,35,40];
console.log(w);   //[5,10,15,20,25,30,35,40]

 使用typeof()运算符测试数组名会得到什么?
 var x=[1,2,3,4,5];      
 console.log( typeof(x) );   //object

操作数组元素

1、允许通过为数组的length属性赋值来改变数组元素的个数。

 (1)var x=[10,20,30,40,50];
     x.length=10;    //扩大了数组元素的个数,多余的数组元素暂时只有位置,没有数据
     console.log(x);    //[10,20,30,40,50, empty x 5]
     document.write(x);    //10,20,30,40,50,,,,,

 (2)var x=[10,20,30,40,50];
          x.length=3;    //缩小了数组元素的个数,数组会从后面的
          数据中将多余的数据删除
          console.log(x);    //[10,20,30]

2、如何操作一个数组元素:

数组中的数组元素下标从0开始计数。

 (1)获取数组元素:
             var m=[“Tom”,“Lucy”,“Jim”,“Bob”];
             console.log(m[1]);    // Lucy

(2)为一个空数组赋值:
var y=[];
y[0]=“语文”;
y[1]=“数学”;
y[2]=“英语”;
console.log(y); // [“语文”,“数学”,“英语”]
3、允许通过为一个不存在的大下标的数组元素赋值来增大数组。
var t=[“A”,“B”,“C”];
t[100]=“Z”;
console.log(t.length); //101
console.log(t); //[“A”,“B”,“C”, empty x 97 ,“Z”]
4、利用for循环来对数组进行数组元素的逐个输出:
var array=[10,20,30,40,50,60,…….];
for(var i=0;i<array.length;i++){ //也可以书写为:for(var i=0;i<=array.length-1;i++){
console.log(array[i]);
}
如果更改循环变量i的取值范围,可以输出数组中的一部分数组元素。

数组的实例

//使用数组输出斐波那契数列的前20项

var s=20;
// 定义变量s=20
var ssr=new Array(s);
// 定义数组名和构造函数的值
ssr[0]=1;
// ssr中索引值为0的哪一项为1
ssr[1]=1;
//ssr中索引值为1的那一项为1
for(var i=2;i<s;i++){
	//循环条件为i=索引值为2的哪一项
	//同时i<变量s
	//i+1
	ssr[i]=ssr[i-1]+ssr[i-2];
	// ssr中的索引值为i的那一项等于
	// ssr[索引值i-1的那一项]加上
	// ssr[索引值i-2的那一项]
}
document.write(ssr);
// 输出数组ssr;
//国际棋盘(8*8)问题。第一个格子放1粒米,第2个格子
//放2粒米,以后每个格子的米粒个数是前一个格子米粒个
//数的2倍。设一吨大米2500万粒,总共需要多少吨大米。
var shaess=new Array(64);
// 用构造函数的原因是因为它能够
// 直接定义内部有多少个数组元素
shaess[0]=1;
// 由题意知每个格子总比前每一个格子的数多两倍
// 由此知道第一个格子的数量即可推算后面的格子
var sum=shaess[0];
// sum等于chaess里索引值为0的那一项
for(var i=1;i<shaess.length;i++){
// 变量i等于索引值为一的哪一项;
// i小于数组chaess的索引值
// 当程序执行成功时i+1;
shaess[i]=2*shaess[i-1];
// chaess里索引值为i的那一项等于
// 2乘以shaess里索引值为i的那一项-1
sum=sum+shaess[i];
// sum得值等于sum+chaess里索引值为i的那一项等于
}
var weight=sum/25000000;
console.log("需要" + weight + "吨大米");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值