js-数组
一、实现目标
1、了解数组的概念
数组:就是一组数据的集合,并且是存储在单个变量下的优雅方式!
2、如何来创建一个数组
script> //数组就是存储一组数据,并且放置在一个变量下的优雅方式! // 1、通过new关键字来创建 var arr=new Array(); // 2、直接通过''[]'来创建 var arr1=[]; // 这两种方式都表示创建了一个空数组 // 3、数组中的对象可以是任意类型 var arr2=[1,2,'飞翔',true] console.log(arr2); </script>
获取元素中的某个元素的值
var arr3=['罪与罚','悲惨世界','平凡世界','小王子'];
// 5、获取第一个元素的值
console.log(arr3[0]);
//6、获取第二个元素的值
console.log(arr3[1]);
//7、获取第三个元素的值
console.log(arr3[2]);
//8、如果获取没有元素的值,会发生什么呢?
console.log(arr3[4]);
注:如果获取的是,数组汇总索引不存在的值,会输出undefined;
案例:遍历数组星期,并输出星期日:
<body> <!-- 获取星期的案例,并且按照索引来进行输出 --> <script> var arr=['星期一','星期二','星期三','星期四','星期五','星期六','星期天']; console.log(arr[6]); </script> </body>
3、如何遍历数组
<script> // var arr=['星期一','星期二','星期三','星期四','星期五','星期六','星期天']; // console.log(arr[6]); // 1、遍历数组中的元素 var arr1=['red','green','blue']; for(var i=0;i<3;i++){ console.log(arr1[i]); } // 注意:遍历的时候,必须是数组索引从0开始,然后利用for循环遍历整个进行输出 // 2、案例:遍历数组中的每个数来进行输出 var arr2=['关羽','张飞','马超','赵云','黄充','刘备','姜维']; for(var i=0;i<7;i++){ console.log(arr2[i]); } </script>
通过for循环来访问数组中的元素
数
组的长度:arr.length:动态检测数组元素的个数
//3、通过.lenght可以动态检测数组的长度 for(var i=0;i<arr2.length;i++){ console.log(arr2[i]); } //此时亦可以进行遍历数组中的元素
4、如何在数组中新增一个元素
<body> <script> // 1、数组中插入元素,通过修改数组的长度。显示undefined; var arr=['red','green','pink']; arr.length=5; console.log(arr); console.log(arr[3]); console.log(arr[4]); // 2、通过给固定位置设置索引来进行添加 // 如果是空值的情况,则会进行插入!如果是有值的情况下,则直接进行赋值 arr[3]='pink'; arr[4]='yellow'; arr[0]='purple'; console.log(arr); // 3、注意在使用的时候,不能直接将数组赋值给字符串,否则之前的值都会显示消失! arr='str'; </script> </body>
求出数组[2,6,1.7,4]的数组的元素的和以及平均值:
// 求出数组[2,6,1.7,4]的数组的元素的和以及平均值: var sum=0; var arr=[2,6,1,7,4]; for(var i=0;i<arr.length;i++){ sum+=arr[i]; } var ave=sum/(arr.length); console.log('该数组元素的和以及平均值分别为:',sum,ave);

遍历求出数组中的最大值和最小值
<body> <script> // 1、书写一个数组,求出该数组中的最大值 // 思路:首次将第一个元素的值赋值为max,然后让第一个值与接下来的每个值来进行比较 // 然后将最大值赋值给max,否则直接进行输出即可 var arr=[12,34,90,78,56,34]; var max=arr[0]; for(var i=0;i<arr.length;i++){ if(arr[i]>max){ max=arr[i] } } console.log(max); // 如果是最小值,则将第一个值赋值为min,然后进行比较,如果数组中的元素值小于min的值 // 则进行赋值即可; var arr2=[12,34,90,78,56,34]; var min=arr[0]; for(var arr2=0;i<arr2.length;i++){ if(arr2[i]<min){ min=arr2[i] } } console.log(min); </script> </body>

要:将数组中的元素组成字符串进行拼接
var arr3=['red', 'green', 'blue', 'pink']; var str=''; //和求和一样,定义一个空字符串用来进行拼接要展示的字符串的变量 for(var i=0;i<arr3.length;i++){ str=str+arr3[i]+'|' } console.log(str);
求∶将数组['red', 'green', 'blue', 'pink']转换为字符串,并且用|或其他符号分割输出: 'red|green|blue|pink|
往数组中动态地添加元素:
var arr1=[]; for(var i=0;i<100;i++){ arr1[i]=i+1; } console.log(arr1); // 此时可以实现可以往数组中进行动态地添加元素!nice
要求∶将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组
var j=0; for(var i=0;i<newarr.length;i++){ if(newarr[i]>=10){ // str1[i]=newarr[i] // 如=如果是这样,则就会显示数组的长度是9 str1[j]=newarr[i]; j++; } } console.log(str1); //此时即显示数组的长度为3,而且里面包含的元素也是3个,完美!又解决了!

二、数组案例:
1、要求∶将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,形成一个不包含0的新数组。
<body> <!-- 1、要求∶将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,形成一个不包含0的新数组。 --> <script> var arr=[2,0,6,1,77,0,52,0,25,7]; var newarr=[]; for(var i=0;i<arr.length;i++){ if(arr[i]!=0){ newarr[newarr.length]=arr[i] } } console.log(newarr); </script> </body>

2、要求:将数组['red', 'green', 'blue', pink', 'purple']的内容反过来存放。
输出: ['purple', 'pink', 'blue', 'green', 'red']
</script> <!-- 2、将数组['red', 'green', 'blue', pink', 'purple']的内容反过来存放。 输出: ['purple', 'pink', 'blue', 'green', 'red'] --> <script> var arr1=['red', 'green', 'blue','pink', 'purple']; var newarr1=[]; for(var i=arr1.length;i>0;i--){ newarr1[newarr1.length]=arr1[i-1]; } console.log(newarr1); </script>

交换两个变量:
<script> var temp=0; var left='left'; var right='right'; temp=left; left=right; right=temp; console.log('交换后两个变量的显示是:',right,left); </script>

3、冒泡排序的实现:
冒泡排序∶是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小)。
冒泡排序:实际上是首个元素进行与后面的元素一次来进行比较,如果大于则直接进行交换。因为冒泡排序一般都会将最小的元素显示在前列。所以,类似于泡泡,就称之为冒泡排序!
例
</script> <!-- 4、冒泡排序的实现 --> <script> var arrsquene=[2,0,6,1,77,0,52,0,25,7]; for(var i=0;i<=arrsquene.length-1;i++){ //控制外层循环,用来控制趟数。比如说数组里有9个元素,则整个进行交换下来需要8趟 for(var j=0;j<arrsquene.length-i-1;j++){ //控制内层循环,用来计算交换的次数 // 一直是让前一个元素来与后一个元素比进行比较 if(arrsquene[j]>arrsquene[j+1]){ var temp=0; temp=arrsquene[j]; arrsquene[j]=arrsquene[j+1]; arrsquene[j+1]=temp; } } } console.log(arrsquene); </script>
如,我们可以将数组[5,4,3,2,1]中的元素按照从小到大的顺序排序,输出∶1 2,3,4,5

终于可以自己独立完成冒泡排序了。开心!
今天算是完数组的基本知识了,加油!

浙公网安备 33010602011771号