js的数组的介绍
为什么需要数组?
问题:
王大爷有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>
u 数组的基本使用
① 如何创建数组
方法1
var arr=[元素1,元素2......] 其实也可以这样创建空数组 var arr=[];
元素的个数可以任意,元素的类型可以任意
方法2.
var arr=new Array();
② 如何访问数组的数据
1. 指定访问某个元素
数组名[下标号], 下标号默认是从0 开始编号.
2. 遍历数组
for(var i=0;i<数组.lenght;i++){
数组[i];
}
☞ 如果下标越界会怎样?
报 undefine
☞ js的数组是否能够动态的增长
var a=[2,3];
a[2]=56;
alert(a[2]);
说明js的数组可以动态增长. 此时要访问到56,下标可以是3,2,6等都可以 ,其实只是一个涨眼法
③ 数组在内存中怎样存在..
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
画图说明;
通过下面的代码,我们来说明js的数组是怎样存在内存的:
function test2(val){
//val[0] 访问第一个元素.
val[0]=900;
}
arr=[1,2,3];【1】
//调用函数
test2(arr);
for(var i=0;i<arr.length;i++){
document.write("*****"+arr[i]);
}
分析图:
数组的常用的属性和函数
① length 属性可以返回该数组的大小(遍历)
② split 函数,可以拆分字符串.
var str="abc hello boy";
var arr=str.split(" ");
document.write(arr+ arr.length);
数组小结:
①数组可存放任意类型的数据 JavaScript数组的下标也可以是字符串
②数组大小不必事先指定,可以动态增长
③数组名可以理解为指向数组首地址的引用.
④数组元素默认从0开始编号的.