本帖最后由 小鲁哥哥 于 2017-3-13 15:23 编辑
【济南中心】PHP课程同步笔记day06:JS介绍(三) 数组: 数组对象用来在单独的变量名中存储一系列的值。 我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象:var myArray=new Array() 有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。 1: var mycars=new Array() mycars[0]="Saab" mycars[1]="Volvo" mycars[2]="BMW" 2: var mycars=new Array("Saab","Volvo","BMW") 注意:如果你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量。 访问数组 通过指定数组名以及索引号码,你可以访问某个特定的元素。 document.write(mycars[0]) 修改已有数组中的值 如需修改已有数组中的值,只要向指定下标号添加一个新值即可:mycars[0]="Opel"; 数组的属性: 获得数组的长度length Var len = arr.length如果保存到变量里面,这个时候变量里面保存的是数字,如果说直接把arr.length写到循环里面,循环的时候会在去arr.length找长度(个数) 格式:var arr=[10,20,30]; 数据:[10,20,30] 下标:[0,1,2] 案例求学生成绩之和: [HTML] 纯文本查看 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<script type="text/javascript">
var arr=[96,98,88,92,45,48,56,96,87,55,62,22];
var len = arr.length;
alert(len);
var sum=0;
for(var i=0;i<len;i++){
sum = sum+arr[i];[/i]
}
[i]document.write("学生总成绩为:"+sum);[/i]
</script>
</head>
<body>
</body>
</html> 案例:求学生平均成绩 [HTML] 纯文本查看 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<script type="text/javascript">
var arr=[96,98,88,92,45,48,56,96,87,55,62,22];
var len = arr.length;
var sum=0;
for(var i=0;i<len;i++){
sum = sum+arr;
}
var avg = sum/len;
document.write("学生平均成绩为:"+avg);
</script>
</head>
<body>
</body>
</html> 案例:数组排序(从小到大) 冒泡排序法: [HTML] 纯文本查看 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<script type="text/javascript">
function bubbleSort(array){
for(var j=0;j<array.length;j++){[/align][align=left] for(var i=0;i<=array.length-j-1;i++){[/align][align=left] if(array>array[i+1]){[/align][align=left] var temp = array;[/align][align=left] array.splice(i,1,array[i+1]);[/align][align=left] array.splice(i+1,1,temp);[/align][align=left] }[/align][align=left] }[/align][align=left] }[/align][align=left] return array;
}
document.write(bubbleSort([21,5,6,78,3,1,25]));
</script>
</head>
<body>
</body>
</html> 效果: 二维数组 数组内部数据为数组 Var arr1 = [23,12,56]; Var arr2 = [45,12,33]; Var arr3 = [34,44,55]; Var arr=[arr1,arr2,arr3]; Arr = [ [23,12,56], [45,12,33], [34,44,55], ]; 案例:求二维数组的最大值 [HTML] 纯文本查看 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<script type="text/javascript">
var arr = [
[23,12,56],
[45,12,33],
[34,44,55],
];
var max = arr[0][0];
var xiabiao1 = 0;
var xiabiao2 = 0;
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr.length;j++){
if(max<arr[j]){
max = arr[j];
xiabiao1=i;
xiabiao2=j;
}
}
}
document.write("最大值为:"+max+",下标为:"+xiabiao1+","+xiabiao2);
</script>
</head>
<body>
</body>
</html> 效果: 数组方法: concat() 方法用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 连接数组和字符串: [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
var a = [1,2,3];
document.write(a.concat(4,5));
</script> 输出: 1,2,3,4,5 连接两个数组: [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
</script> 输出: George,John,Thomas,James,Adrew,Martin
arr.join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。 [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join())
</script> 输出: George,John,Thomas Arr.pop() 方法用于删除并返回数组的最后一个元素 [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr)
document.write("<br />")
document.write(arr.pop())
document.write("<br />")
document.write(arr)
</script> 输出: George,John,Thomas Thomas George,John Arr.reverse()用于颠倒数组中元素的顺序 [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr + "<br />")
document.write(arr.reverse())
</script> 输出: George,John,Thomas Thomas,John,George
识别方法和属性: 属性:对象.属性名; 方法:对象.方法名();
Math 对象: Math.pow(n1,n2);求n1的n2次方 [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
document.write(Math.pow(0,0) + "<br />")
document.write(Math.pow(-2,3) + "<br />")
document.write(Math.pow(-2,4) + "<br />")
</script> 结果: 1 -8 16 Math.abs(n);可返回数的绝对值 [JavaScript] 纯文本查看 复制代码 <script type="text/javascript">
document.write(Math.abs(7.25) + "<br />")
document.write(Math.abs(-7.25) + "<br />")
document.write(Math.abs(7.25-10))
</script> 输出: 7.25 7.25 2.75 Math.random();可返回介于 0 ~ 1 之间的一个随机数 Math.floor(n);向下取整,不大于n的最大的整数 Math.ceil(n);向上取整,不小于n的最小的整数 案例: 求两个数字之间的随机数 1)得到0到1之间的数字 2)得到求0到任意数字间的随机数math.random()*n 3)Math.random()*(大数-小数) 4)乘以任意的数字,得到最大值向下取整后是这个数字-1 5)乘以任意数字+1,就能得到最大值向下取整后得到这个数字 6)Math.floor(math.random()*(大数-小数+1))+小数 |