4.22js学习笔记

可通过定义标记变量来区分循环是否正常结束

数组

数组的定义

var ary = new Array();
创建空数组,长度为0


var ary = new Array(3);
创建长度为3的数组


var ary = new Array(10,22,22,2,2,2,2,2);
创建有初始数据的数组

var ary = [];
ary[5] = 1;

定义空数组,直接设置下标为5的元素,动态扩展数组长度,下标5之前的元素都是undefined

数组的赋值和访问

var ary = new Array();

创建空数组

ary[0]=1;
//ary[0]="abc";
为第一个元素赋值1//abc

访问超出数组长度的元素,返回undefined

遍历方式

1,循环遍历

2,for each/in遍历

for(var x in ary){
    document.write(x+" "+ary[x]+"<br/>")
}
x为数组下标

数组下标属性

for循环只能遍历索引下标

for each能遍历索引下标和属性下标

查询数组元素

<script>
        var ary = new Array(5);
        for(var i = 0; i < ary.length; i ++){
            ary[i] = prompt("输入第"+(i+1)+"个姓名")
        }
        for(var i = 0; i < ary.length; i ++){
            if(ary[i] == "张三"){
                document.write("张三在第"+(i+1)+"位")
            }
        }
</script>

删除数组元素

<script>
        var ary = new Array(1,2,3,4,5,6,7,8,9)
        document.write("原数组:"+ary+",原长度"+ary.length+"<br/>")
        var index = Number(prompt("要删除第几位?",""))
        for(var i = index-1; i < ary.length-1; i ++){  
                ary[i] = ary[i+1];
        }
        ary.length = ary.length-1;
        document.write("删除第"+index+"位元素后的数组:"+ary+",删除第"+index+"位元素后长度"+ary.length+"<br/>");
</script>

 运行结果

插入数组元素

<script>
        var ary = new Array(1,2,3,4,5,6,7,8,9)
        document.write("原数组:"+ary+",原长度"+ary.length+"<br/>")
        var index = Number(prompt("要在第几位插入元素?",""))
        var num = prompt("插入的元素","")
        for(var i = ary.length; i > index-1; i --){  
            ary[i] = ary[i-1]
        }
        ary[index-1] = num;
        document.write("在第"+index+"位插入元素"+num+"后的数组:"+ary+",插入后长度"+ary.length+"<br/>");
</script>

 运行结果

冒泡排序

第一个元素依次与后边的元素进行比较,若大于后边的元素,则进行换位,直到完成排序。

<script>
        var ary = new Array(4,5,8,8,3,2,8,0,93,2,354,126,327,212,4343,787,2,578,64322,12,68,89)
        var num = 0;
        document.write("原数组:"+ary+"<br/>")
        for(var i = 0; i <= ary.length-1; i ++){
            for(var j = 0; j <= ary.length-1-i; j ++){
                if(ary[j] > ary[j+1]){
                    num = ary[j];
                    ary[j] = ary[j+1];
                    ary[j+1] = num;
                }
            }
        }
        document.write("冒泡排序后数组:"+ary)
</script>

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值