irpas技术客

javascript数组_双 子

网络 4968

问: 什么是数组呢?

答:? 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是种将一组数据存储在单个变量名 下的优雅方式。 //普通变量次只能存储一个值 var num = 10; //数组一次可以存储多个值 var arr = [1,2,3,4,5];

数组的创建方式

JS中创建数组有两种方式:

●? ? 利用new创建数组 ●? ? 利用数组字面量创建数组 ?

1、利用new创建数组

var? 数组名=new Array() ; var arr = new Array();? ?// 创建一个新的空数组

●这种方式暂且了解,等学完对象再看 ●注意Array?, A要大写

2、利用数组字面量创建数组

//1.使用数组字面量方式创建空的数组var 数组名=[ ]; //2.使用数组字面量方式创建带初始值的数组 var? 数组名= ['小白','小黑','大黄','瑞奇']; ●数组的字面量是方括号[ ] ●声明数组并赋值称为数组的初始化 ●这种字面量方式也是我们以后最多使用的方式

数组元素的类型

数组中可以存放任意类型的数据,例如??字符串,数字,布尔值??等。

var arrStus = ['小白', 12, true,28.9] ;

(true不需要加引号,字符串才加引号) ?

数组的索引

索引(下标) :用来访问数组元素的序号(数组下标从0开始)。 ? ? ? ? var? ?arr = ['小白', "小黑', '大黄', '瑞奇']; 索引号:? ? ? ? ? ? ? ? ?0? ? ? ? ? ?1? ? ? ?2? ? ? ? ?3

数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过“数组名[索引]”的形式来获取数组中的元素。这里的访问就是获取得到的意思 ?

//定义数组 var arrStus = [1,2,3]; //获取数组中的第2个元素 ,arrStus[1]=2; alert (arrStus[1]) ;

数组的长度

使用“数组名.length" 可以访问数组元素的数量(数组长度)。

//例如 var arr=[1,2,3,4,5,6,7]; //那么, arr.length=7;

//想要在控制台一行输出多个变量,只需加逗号(,)即可?

?

数组中新增元素

可以通过修改length长度以及索引号增加数组元素

1、通过修改length长度新增数组元素 ●可以通过修改 length长度来实现数组扩容的目的 ●length性是可读写的

var arr = ['red', 'green','blue', 'pink'] ; arr. length = 7; //将数组大小扩大为7 console. log(arr) ; console. log(arr[4]) ; console. log(arr[5]); console. log(arr[6]);

其索引是4, 5 , 6的空间没有给值,就是声明变量未给值,默认值就是undefined. ?

●(7) ["red", "green", "blue", "pink", empty x 3] undefined undefined undefined

2、通过修改数组索引新增数组元素

●可以通过修改数组索引的方式追加数组玩素 ●不能直接给数组名赋值 ,否则会覆盖掉以前的数据

var arr = ['red', 'green', 'blue', 'pink'] ; arr[4] = ' hotpink" ; //直接追加了arr[4],并赋值为 'hotpink' console. log(arr) ;

这种方式也是我们最常用的一种方式。 ?

?

遍历数组

使用循环如(for、while、do while)使数组中每一个元素都经过一遍;

例如:

var arr=[1,2,3,4,5,6,7,8,9]; for(var i=0; i < arr.length ;i++){ console.log(arr[i]); }

简单冒泡排序 var arr=[3,1,4,5,6,7,8,2,3]; var temp; for(var j=0;j<arr.length-1;j++){ for(var i=0;i<arr.length-1;i++){ if(arr[i]>arr[i+1]){ temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } } console.log(arr);

此处冒泡排序是将相邻的元素进行比较,不断选出最大的元素,经过一趟排序后,最大的元素交换到了数组最后面,然后再来一趟,第二大元素到了倒数第二个位子上,依此类推,经过

arr.length-1? 趟之后,数组元素从小到大依次排列好了;

冒泡排序的趟数(最外重循环):数组长度减一次,(如果有两个元素,就冒泡一趟)

简单选择排序 var arr=[3,1,4,5,6,7,8,2,3]; var min,temp; for(var j=0;j<=arr.length-1;j++){ min=j; for(var i=j+1;i<arr.length;i++) { if(arr[i]<arr[min]){ min=i; } } if(min!=j){ temp=arr[j]; arr[j]=arr[min]; arr[min]=temp; } } console.log(arr);

选择排序的精髓:

从数组第一个元素开始选出一个最小(最大)值,然后从剩下的元素中通过循环选择出 最小(最大)值,并交换,然后从数组第二个开始,又从剩下的选择,以此类推,每次都交换好了,总体就保持从小到大(从大到小)的顺序。

数组数据倒置 var arr=[1,2,3,4,5,6,7,8,9]; var left=0,right=arr.length-1; var temp; while(left<right){ temp=arr[left]; arr[left]=arr[right]; arr[right]=temp; left++; right--; } console.log(arr);

数组中删除指定数据 var arr=[1,2,3,4,5,3,6,7,8,9]; var num=arr.length; for(var i=0;i<arr.length;i++){ if(arr[i]===3){ //删除了数组中为3的元素 for(var j=i+1;j<arr.length;j++){ arr[j-1]=arr[j]; } num--; } } arr.length=num; //缩短了数组的大小 console.log(arr);


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #javascript数组 # #什么是数组呢答 #数组是指一组数据的集合 #其中的每个数据被称作元素 #在数组中可以存放任意类型的元素 #下的优雅方式