JS基础3-数组及例题
数组
1.数组的定义
new Array( ) 长度是动态变化的,可以放任意类型的元素,属于弱类型语言。
var a1=array() 定义一个空的数组;
var a2=array(5) 定义一个数组长度是5;
var a3=array(1,2,3,4,5,"你好",8) 给数组赋值;
array()可用[ ]代替;即可以写成var a3=[1,2,3,4,5,"你好",8]
a3[2]意思是取出数组a3里的第3个数;
a3[3]=10意思是给数组a3的第四个数赋值为10,即变为a3=[1,2,3,10,5,"你好",8];
a3.length 意思是数组a3的长度为7;
a3.push(11,12) 意识是往数组a3里追加元素11,12;
2.数组循环(遍历)
基本语法:for(var=i;i<attr.length;i++)
{ 执行语句 }
输出数组序号:
for(var a in attr)
{
alert(a);
}
例题
一.在一组数组中插入一个数(数不能重复)
var attr = [1,3,9,4,5];
var a = 6;
for(var i=0;i<attr.length;i++)
{
if(attr[i]==a)
{
break;
}
if(i==attr.length-1)
{
attr[i+1] = a;
}
}
alert(attr)
二.从小到大排序9.8.7.6.5.4.3.2.1
var attr = [9,8,7,6,5,4,3,2,1];
var c = 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])
{
c = attr[j];
attr[j] = attr[j+1];
attr[j+1] = c;
}
}
}
alert(attr)
三.求数组中的某个数出现的位置
var attr = [1,2,3,4,5,5];
var q = 5;
for(var i=0;i<attr.length;i++)
{
if(attr[i]==q)
{
alert(i);
}
}
四.求数组中的某几个数出现的次数(2,3,5)
var attr = [1,2,3,1,2,3,4,5,3,2,5];
var a = 0;
var b = 0;
var c = 0;
for(var i=0;i<attr.length;i++)
{
if(attr[i]==2)
{
a++;
}
if(attr[i]==3)
{
b++;
}
if(attr[i]==5)
{
c++;
}
}
alert(a+","+b+","+c);
第二种方法
switch...case
for(var i=0;i<attr.length;i++)
{
switch(attr[i])
{
case 2:
a++;
break;
case 3:
b++;
break;
case 5:
c++;
break;
}
}
alert(a);
alert(b);
alert(c)