js数组及数组应用(冒泡和二分,遍历输出)

一、定义:1)var arr=new Array();

            加数据:arr[0]=1;

          2)定义同时赋值:var arr=new Array(1,2,3,4,5);

          3)调用:var arr=new Array();

                   arr.push(1);用.push调用

          4)var arr=[1,2,3,4,5];

             alert(arr[4]);

二、属性:1)arr.length:数组的长度

              eg:var arr=new Array(1,2,3,4,5,6);

                 alert(arr.length);

 

arr.length;属性(国定)

arr.push:方法(不固定)

2)arr.indexOf:判断数组中是否存在输入的这个数据,若返回索引则存在,返回-1则不存在

eg:var arr=new Array(1,2,3,4,5,6);

 var a=3;

alert(arr.indexOf(a));

二维数组:数组外面又套了一个数组

var arr=new Array(

var arr=new Array(1,2,3,4,5,6);

var arr=new Array(11,12,13,14,15,16);

);

三、遍历输出:1、for循环

var arr=new Array(10,20,11,14,18,30,50);

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

{

alert(arr[i]);

}

2、foreach:强类型中不用与数组,用于集合

arr int  集合遍历

数组索引叫做key,数组里面的值叫做value,key和value是成对存在的,叫做键值对

冒泡:比较的轮次是数组长度减一,比较的次数是数组长度减轮次

var arr=new Array(70,34,60,49,20,59,98,100);

var zj=0;

第一次for用来控制循坏轮数

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

{

for(var a=0;a<arr.length-i;a++)控制每轮比较次数;

{

if(arr[a]<arr[a+1])

{

arr[a]=zj;

arr[a+1]=arr[a];

zj=arr[a+1];

}

}

}

二分法:在一个数组中查找数据,找到数据所在位置的索引

var arr =new Array(1,2,3,4,5,6,7,8,9,10);

var a=3;

var maxd=arr.length-1;mind=0;

while(true){

var zjd=parseInt((maxd+mind)/2);

if(zjd==minx){

if(a==arr[zjd+1]){

alert(zjd+1);

break;

}

}

if(a==zjd){

alert(zjd);

break;

}else if(a>zjd){

mind=zjd;

}else{maxd=zjd;}

}

原文地址:https://www.cnblogs.com/NCL--/p/7041413.html