专栏首页Lemon黄4篇笔记搞定JavaScript----第三篇

4篇笔记搞定JavaScript----第三篇

数组:

数组对象用来在单独的变量名中存储一系列的值。

我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象:

var myArray=new Array();

有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。

第一种方法:

var mycars=new Array();
mycars[0]="Saab";
mycars[1]="Volvo";
mycars[2]="BMW";

第二种方法:

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]

数据

10

20

30

下标

0

1

2

案例求学生成绩之和:

<!DOCTYPE>
<html>
<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>

效果:

案例:求学生平均成绩

<!DOCTYPE>
<html>
<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>

效果:

案例:数组排序(从小到大)->冒泡排序法:

<!DOCTYPE>
<html>
 <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++){
          for(var i=0;i<=array.length-j-1;i++){                                
            if(array>array[i+1]){                                 
              var temp = array;                                  
              array.splice(i,1,array[i+1]);                                 
              array.splice(i+1,1,temp);                                            
            } 
          }
        }     
       return array;
     }
     document.write(bubbleSort([21,5,6,78,3,1,25]));
  </script>
 </head>
 <body>
 </body>
</html>

效果:

二维数组

二维数组内部数据为数组,如下Arr二维数组

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],
       ];

案例:求二维数组的最大值

<!DOCTYPE>
<html>
<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>

效果:

数组方法:

arr.concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

连接数组和字符串:

<script type="text/javascript"> 
  var a = [1,2,3];  
  document.write(a.concat(4,5));
</script>

输出:

1,2,3,4,5

连接两个数组:

<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() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

<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() 方法用于删除并返回数组的最后一个元素

<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()用于颠倒数组中元素的顺序

<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次方

<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):可返回数的绝对值

<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的最小的整数

本文分享自微信公众号 - Lemon黄(lemonhunag),作者:Lemon黄

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【译】现代化的PHP开发--TDD

    来源/https://www.startutorial.com/articles/view/modern-php-developer-tdd 译/Lemon黄...

    Lemon黄
  • PHP设计模式——迭代模式

    作为商店经理,Eric的工作包括检修各个部门的产品。商店中实际上有两个部门。一个部门称为男士部门,该部门存放男性用品,另一个部门称为女士部门的女性用品。每个部门...

    Lemon黄
  • PHP设计模式——单例模式

    如果你去一家诊所做检查,刚好诊所最近提供了免费药物。这个促销工作进展得非常顺利,前台人员的病人人数都超出他们的承受能力。每个人都很忙,以至于没有一个井井有条的等...

    Lemon黄
  • 人工智能时代,如何做设计?

    Android 开发者
  • javascript基础-3

    window.resizeBy(XX[px],YY[px]);——窗口尺寸变化的单位为:±XX,±YY (单位/px); window.resizeTo(XX[...

    py3study
  • Autodesk Navisworks 2014 安装教程。

    Autodesk Navisworks软件能够将AutoCAD和Revit®系列等应用创建的设计数据,与来自其它设计工具的几何图形和信息相结合,将其作为整体的三...

    课代表
  • Autodesk Navisworks 2019 安装教程。

    Autodesk Navisworks软件能够将AutoCAD和Revit®系列等应用创建的设计数据,与来自其它设计工具的几何图形和信息相结合,将其作为整体的三...

    课代表
  • Autodesk Navisworks 2017 安装教程。

    Autodesk Navisworks软件能够将AutoCAD和Revit®系列等应用创建的设计数据,与来自其它设计工具的几何图形和信息相结合,将其作为整体的三...

    课代表
  • Autodesk Navisworks 2018 安装教程。

    Autodesk Navisworks软件能够将AutoCAD和Revit®系列等应用创建的设计数据,与来自其它设计工具的几何图形和信息相结合,将其作为整体的三...

    课代表
  • js 控制frame的元素

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚

扫码关注云+社区

领取腾讯云代金券