js的数组

本文深入讲解JavaScript中数组的创建、访问、遍历等基本使用方法,并通过实例演示了如何利用数组来解决实际问题,如计算一组数值的总和与平均值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



问题: 
王大爷有6只乌龟,它们的体重分别是3kg,5kg,1kg,    3.4kg,2kg,50kg 。

请问这六只乌龟的总体重是少?  平均体重是多少?

<script> 
var weight1=3;

var weight2=5;

....

...
var total=weight1+weight2+...+weight6; 
var average=total/6; 
</script>

数组方法解决上述的问题

<html> <head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/> 
<script type="text/javascript"> 

//创建一个数组 

var arr1=[3,5,10,34.8,50,10]; 

//说明,数组的下标是从[0]  

//window.alert(typeof arr1); 

//通过对象名.constructor 可以显示该对象的构造方法是什么? 

//window.alert(arr1.constructor); 

//遍历我们的数组 

var total_weight=0; 

for(var i=0;i<arr1.length;i++)

{   //document.write("<br/>"+arr1[i]);  

   total_weight+=arr1[i];  }  

document.write("总体重是="+total_weight+" 平均体重
="+total_weight/arr1.length); 
</script> </html>


 
数组的基本使用

如何创建数组
方法1  
var arr=[元素1,元素2......]    其实也可以这样创建空数组 var arr=[]; 
元素的个数可以任意,元素的类型可以任意 
方法2. 
var arr=new Array();

 
数组的基本使用 如何创建数组
方法1  
var arr=[元素1,元素2......]    其实也可以这样创建空数组 var arr=[]; 
元素的个数可以任意,元素的类型可以任意 
方法2. 
var arr=new Array();


如何访问数组的数据
1. 指定访问某个元素
数组名[下标号], 下标号默认是从0 开始编号. 
2. 遍历数组
for(var i=0;i<数组.lenght;i++){  数组[i]; }
for(var key in 数组){  数组[key]; }  
☞ 如果下标越界会怎样? 
报 undefine

☞ js的数组是否能够动态的增长      

var a=[2,3];     

a[2]=56;     

alert(a[2]); 
说明js的数组可以动态增长.


数组在内存中怎样存在..
php程序中,通过一个函数传递数组,是值传递,还是引用传递? 
结论是默认是值传递(拷贝.) 
js代码中,通过一个函数传递数组,是引用传递 
function test2(val)

{   //val[0] 访问第一个元素.  

     val[0]=900;  }

arr=[1,2,3];  

 //调用函数 

test2(arr);   

for(var i=0;i<arr.length;i++)

{   document.write("*****"+arr[i]);  }
输出是 900*****2****3


数组的常用的属性和函数
① length  属性可以返回该数组的大小(遍历)

② split 函数,可以拆分字符串.

var str="abc hello boy";  

var arr=str.split(" ");   

document.write(arr+ arr.length);

数组小结:
 ①数组可存放任意类型的数据
 ②数组大小不必事先指定,可以动态增长 

 ③数组名可以理解为指向数组首地址的引用. 

 ④数组元素默认从0开始编号的.


js的二维数组
var arr1=[元素1,元素2..] 
如果我们的元素又是一个数组,则这个一维数组就成了二维数组.

创建二维数组
举例
var arr=[[1,4,90],[4,'hello']];  

//如何遍历我们的二维数组 

for(var i=0;i<arr.length;i++)

{  var ele=arr[i];   //window.alert(ele.constructor);   

 //对ele进行遍历  

 for(var j=0;j<ele.length;j++)

{   window.alert(ele[j]); }
}

二维数组的理解和指定访问某个变量

测试题:
 /* 

     0 0 0 0 0 0 

     0 0 1 0 0 0 
     0 2 0 3 0 0 

     0 0 0 0 0 0
 */

//定义二维数组  var arr2=[[0,0,0,0,0,0],[0,0,1,0,0,0],[0,2,0,3,0,0],[0,0,0,0,0,0]];   

 for(var i=0;i<arr2.length;i++)

{  var size=arr2[i].length;  

  for(var j=0;j<size;j++)

{ document.write(arr2[i][j]+"&nbsp;");   }  

 document.write("<br/>");  } 

 //
var arr=new Array();

arr[0][0]=1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值