JS 学习 数组

①    如何创建数组

 

方法1 

var arr=[元素1,元素2......]    其实也可以这样创建空数组 var arr=[];

 

元素的个数可以任意,元素的类型可以任意

 

方法2.

 

var arr=new Array();


☞ 如果下标越界会怎样?

 

报 undefine

 

☞ js的数组是否能够动态的增长

 

                                   vara=[2,3];

                                   a[2]=56;

                                   alert(a[2]);

 

说明js的数组可以动态增长.

 

 

①    数组在内存中怎样存在..

 

php程序中,通过一个函数传递数组,是值传递,还是引用传递?

 

结论是默认是值传递(拷贝.)

 

 

 

js代码中,通过一个函数传递数组,是引用传递

 

functiontest2(val){

              //val[0] 访问第一个元素.

              val[0]=900;

       }

 

       arr=[1,2,3];

 

       //调用函数

       test2(arr);

      

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

              document.write("*****"+arr[i]);

       }

输出是 900*****2****3


但是如果函数是

functiontest2(val){

              //val[0] 访问第一个元素.

            val=null;

       }


那会返回1 2 3

原因:val不在指向arr的地址了 而是执行null



u     数组的常用的属性和函数

 

①    length 属性可以返回该数组的大小(遍历)

②    split 函数,可以拆分字符串.

var str="abchello boy";

              var arr=str.split(" ");

 

              document.write(arr+ arr.length);

 

 

u     数组小结:

 ①数组可存放任意类型的数据

 ②数组大小不必事先指定,可以动态增长

 ③数组名可以理解为指向数组首地址的引用.

 ④数组元素默认从0开始编号的.

 

 二维数组 

var arr1=[元素1,元素2..]


如果我们的元素又是一个数组,则这个一维数组就成了二维数组.


测试题:

 

/*

       0 0 0 0 0 0

       00 1 0 0 0     

       02 0 3 0 0

       00 0 0 0 0

 

*/

 

//定义二维数组

       vararr2=[[0,0,0,0,0,0],[0,0,1,0,0,0],[0,2,0,3,0,0],[0,0,0,0,0,0]];

 

 

       for(vari=0;i<arr2.length;i++){

             

              var size=arr2[i].length;

              for(varj=0;j<size;j++){

                    

                     document.write(arr2[i][j]+"&nbsp;");

 

              }

 

              document.write("<br/>");

       }

冒泡排序


二分查找:

1.     二分查找

 

面试题: 一定掌握!

 

//二分查找[递归]

 

       //二分查找要保证我们的数组是一个有序的.

       //思想是

       //首先把数组的中间这个数找出,然后和你要查询的数比较

       //① 你要查询的数比中间的数大. 则说明我们应当该数组的右边[后边]查询

       //② 你要查询的数比中间的数小 .则说明我们应当该数组的左边[前边]查询

       //③ 你要查询的数等于中间的数, 说明找到 

 

       var arr=[1,90,100,123,4000];

 

       functionbinarySearch(findVal,arr,leftIndex,rightIndex){

             

 

              //退出条件

              if(rightIndex<leftIndex){

                     document.write("查询没有结果");

                     return;

              }

 

              //代码:

              //找到中间数的下标

              varmidIndex=Math.round((leftIndex+rightIndex)/2);

 

              if(arr[midIndex]<findVal){

                     binarySearch(findVal,arr,midIndex+1,rightIndex);

              }elseif(arr[midIndex]>findVal){

                 binarySearch(findVal,arr,leftIndex,midIndex-1);

              }else{

                     document.write("找到 下标是"+midIndex);

                     //binarySearch(findVal,arr,leftIndex,midIndex-1);

              }

 

       }

 

       //调用的格式

       binarySearch(100,arr,0,arr.length-1);

 




在充满仪式感的生活里,一款能传递心意的小工具总能带来意外惊喜。这款基于Java开发的满屏飘字弹幕工具,正是为热爱生活、乐于分享的你而来——它以简洁优雅的视觉效果,将治愈系文字化作灵动弹幕,在屏幕上缓缓流淌,既可以作为送给心仪之人的浪漫彩蛋,也能成为日常自娱自乐、舒缓心情的小确幸。 作为程序员献给crush的心意之作,工具的设计藏满了细节巧思。开发者基于Swing框架构建图形界面,实现了无边框全屏显示效果,搭配毛玻璃质感的弹幕窗口与圆润边角设计,让文字呈现既柔和又突兀。弹幕内容精选了30条治愈系文案,从“秋天的风很温柔”到“你值得所有温柔”,涵盖生活感悟、自我关怀、浪漫告白等多个维度,每一条都能传递温暖力量;同时支持自定义修改文案库,你可以替换成专属情话、纪念文字或趣味梗,让弹幕更具个性化。 在视觉体验上,工具采用柔和色调生成算法,每一条弹幕都拥有独特的清新配色,搭配半透明渐变效果与平滑的移动动画,既会遮挡屏幕内容,又能营造出灵动治愈的氛围。开发者还优化了弹幕的生成逻辑,支持自定义窗口大小、移动速度、生成间隔等参数,最多可同时显示60条弹幕,且会造成电脑卡顿;按下任意按键即可快速关闭程序,操作便捷无负担。 对于Java学习者而言,这款工具更是一份优质的实战参考。源码完整展示了Swing图形界面开发、定时器调度、动画绘制、颜色算法等核心技术,注释清晰、结构简洁,哪怕是初学者也能轻松理解。开发者在AI辅助的基础上,反复调试优化细节,解决了透明度控制、弹幕碰撞、资源占用等多个问题,这份“踩坑实录”也为同类目开发提供了宝贵经验。 无论是想给喜欢的人制造浪漫惊喜,用满屏文字传递心意;还是想在工作间隙用治愈文案舒缓压力,或是作为Java学习的实战案例参考,这款满屏飘字弹幕工具都能满足你的需求。它没有复杂的操作流程,无需额外配置环境,下载即可运行,用最纯粹的设计传递最真挚的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值