-数组也是一个对象
-数组也是用来存储数据的
-和object不同,数组中可以存储一组有序的数据,
-数组中存储的数据我们称其为元素(element)
-数组中的每一个元素都有一个唯一的一个索引,通过索引可以对其进行各种操作
-索引(index),从0开始的整数
-array和object没有太本质的区别,不同点主要在于对象中使用使用属性名操作数据
数组中通过索引来操作数据
-对于存储大量数据来讲,数组的存储性能要高于对象
//创建一个数组对象vararr=newArray();//(typeofarr);//向数组中添加元素//语法:数组[索引]=值;arr[0]=33;arr[1]=22;arr[2]=78;arr[3]=44;arr[4]=221;//arr[100]=345;arr[0]=3;//读取数组中的元素//语法:数组[索引]//如果读取数组中没有属性,最终会返回undefined//删除数组中的元素//deletearr[3];//(arr[3]);//获取数组的长度//通过length属性可以获取数组中元素的数量//对于连续数组,length获取到的就是元素的数量//对于非连续数组,length获取到的是元素的最大索引+1//在实际使用中,尽量避免使用非连续数组(性能差)//length属性也可直接修改//=4;//向数组的最后添加元素arr[]=567;arr[]=333;(arr);2数组的值:
//vararr=newArray();//vararr=[];//vararr=newArray(10,20,33,44,55);//创建数组并添加5个元素//arr=newArray(10);//创建一个长度为10的数组,数组中没有元素//JS中的数组可以存储任意的数据类型vararr=[[1,2,3],33,true,null,undefined,'hello',{},function(){('hello');}];//arr[6]();//(arr);//如果数组中存储数据还是数组,则这个数组我们称为二维数组//(arr[0][2]);vararr2=['孙悟空','猪八戒','沙和尚','唐僧'];//获取到arr2中的所有元素//(arr2[0]);//(arr2[1]);//(arr2[2]);//(arr2[3]);arr2=['孙悟空','猪八戒','沙和尚','唐僧','白骨精','玉兔精'];//遍历数组(读取数组中所有元素)for(vari=0;;i++){(arr2[i]);}
3遍历数组的简便方法:vararr=['孙悟空','猪八戒','沙和尚','唐僧','白骨精'];//forEach来遍历数组//(//function(a,b,c,d,e){//(a,b,c,d,e)//}//)//for-in来遍历数组//for(variinarr){////for-in语句会执行多次,数组中有几个元素就会执行几次////每次执行都会将当前的索引赋值给i//(arr[i]);//}//for-of语句和for-in类似,不同点在于它会直接返回元素而不是索引//但是这两种玩意对于老版本的浏览器支持度不高for(varvofarr){(v);}
4练习1://1.定义一个类functionPerson(name,age){=name;=age;}//重写类的=function(){return'Person[name:'++',age:'++']';};//--------------------------------------------------------------------------//2.创建一个对象varp1=newPerson('孙悟空',18);varp2=newPerson('猪八戒',28);varp3=newPerson('牛魔王',68);varp4=newPerson('红孩儿',8);varp5=newPerson('蜘蛛精',16);varp6=newPerson('玉兔精',14);varp7=newPerson('唐僧',16);varp8=newPerson('沙和尚',38);//将对象放入到一个数组zh中varpersonArr=[p1,p2,p3,p4,p5,p6,p7,p8];//(personArr+"");//定义一个函数,它需要一个数组作为参数,在函数内部可以判断获取到所有的成年人,//并且将其存储到一个新的数组中返回functiongetAdult(arr){//创建一个新的数组varnewArr=[];//遍历arr,获取到它里边的所有的Person对象for(vari=0;;i++){//判断对象是否是成年人if(arr[i].age=18){//如果大于等于18,则表示是成年人//是成年人,需要将其放入到新数组中newArr[]=arr[i];}}//将新数组作为返回值返回returnnewArr;}varresult=getAdult(personArr);(result)
5:练习二:把函数做参数//有一个数组vararr=[1,2,3,4,5,6,7,8,9,10,11,12,13,14];varresult=filter(arr,fn3);//想用哪个功能就在(括号里调,fn,f2,f3)(result+'');//创建一个函数,可以同时满足三个功能functionfilter(arr,fn){varnewArr=[];for(vari=0;;i++){if(fn(arr[i])){newArr[]=arr[i];}}returnnewArr;}//定义一个函数functionfn(n){//用来判断一个数是否是奇数,奇数返回true,否则返回falsereturnn%2!==0}//创建一个判断偶数的函数functionfn2(n){returnn%2===0;}functionfn3(n){returnn%3===0;}
6把函数作为参数:varnumbers=[1,2,3,4,5,6];//创建一个函数,可以用来对数组进行筛选过滤functionfilter(arr,c){//创建一个新的数组,用来存储结果varnewArr=[];//遍历arrfor(vari=0;;i++){//判断arr[i]是否满足条件//如果能够将代码,以参数的形式传递进行函数那就好了!if(c(arr[i])){newArr[]=arr[i];}}//返回新数组returnnewArr;}functionfn(n){returnn%3===0n%2===0;}functionfn2(n){returnn%5===0;}functionfn3(n){returnn%4===0;}varresult=filter(numbers,fn);result=filter(numbers,fn3);(result+"");
学习前端技术是现代互联网时代中非常重要的一项技能。无论你是想成为一名专业的前端工程师,还是仅仅对前端开发感兴趣,我的文章将能为你提供宝贵的指导和知识。
在我的文章中,你将会学到如何使用HTML、CSS和JavaScript创建精美的网页。我将深入讲解每个语言的基础知识,并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者,我的文章都能够满足你的学习需求。
此外,我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展,新的框架和工具层出不穷。通过我的文章,你将会了解到最新的前端技术趋势,并了解如何应对这些变化。
我深知学习前端不易,因此我将尽力以简洁明了的方式解释复杂的概念,并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发,并提升你的技能。
版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。