数组:相同类型数据的集合

强类型语言:
  1.数组里面只能存放相同数据类型的数据
  2.定义数组的时候需要制定一个长度(可以存放的元素数量)
  3.内存空间连续
集合:
  1.可以存放任意类型的数据
  2.定义的时候不需要制定长度
  3.内存空间是不连续的

JS(弱类型语言;没集合概念):

数组:
  1.可以存放任意类型数据
  2.定义的时候不需要指定长度

定义

  给数据:var attr = Array(1,3.14,"aa");

  给长度:var attr = Array(5);  attr[a]="aa";

  使用方括号定义:var attr=[1,3.14,"aa"];

属性

  数组长度:length

方法 

  追加元素:push

遍历

  for循环

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

  forteach形式

    for(var a in attr)   alert(attr[a]);

例子

10个成绩,求总分,求最高分,求最低分

    var attr = [89,80,76,49,90,25,85,76,59,40];
    var sum = 0;
    for(var i=0;i<attr.length;i++)
    {
      sum += attr[i];
    }


    var zg = 0;
    for(var i=0;i<attr.length;i++)
    {
      if(attr[i]>zg)
      {
        zg = attr[i];
      }
    }


    var zd = zg;
    for(var i=0;i<attr.length;i++)
    {
      if(attr[i]<zd)
      {
        zd = attr[i];
      }
    }

添加数据时去重

  var attr = [2,5,10,16,27];

  var sj = 10;
  var cf = true;
  for(var i=0;i<attr.length;i++)
  {
    if(sj == attr[i])
    {
      cf = false;
      break;
    }
  }
  if(cf)
  {
    attr.push(sj);
    alert(attr.length);
  }
  else
  {
    alert("有重复值");
  }

冒泡排序

  var attr=[1,8,6,4,5,3,7,2,9];    //数组里面两个相邻的两个元素进行比较,满足条件元素交换

  var zj = 0;    //定义一个中间变量

  for(var i=0;i<attr.length-1;i++)    //控制比较的轮数,进行比较的轮数是数组的长度减一

  {

    for(var j=0;j<attr.length-1-i;j++)    //控制每轮比较的次数

    {

      if(attr[j]<attr[j+1])

      {

        zj = attr[j];

        attr[j] = attr[j+1];

        attr[j+1]=zj;

      }

    }

  }

  alert(attr[0]);

  attr.sort();  //JS按第一位排序,有的准有的不准

二分法查找数据  

  var attr[1,2,3,4,5,6,7,8,9];   //首先数组需要排好序

  var v = 6;  //要查找的值

  var minsy=0;

  var maxsy=attr.length-1;
  var midsy;
  while(true)
  {
    var midsy=parseInt((minsy+maxsy)/2);
    if(attr[midsy==v])
    {
      break;
    }
    if(midsy == minsy)
    {
      if(attr[midsy+1]==v)
      {
        midsy=midsy+1;
        break;
      }
      else
      {
        midsy=-1;
        break;
      }
    }
    if(attr[midsy]>v)
    {
      maxsy=midsy;
    }
    else
    {
      minsy=midsy;
    }
  }
alert(midsy);

posted on 2016-09-19 10:36  小学员G  阅读(141)  评论(0编辑  收藏  举报