概述
一. JavaScript数组
1.数组(Array):就是一组数据的集合,存储在单个变量下的优雅的方式。
2.创建数组
1)利用new创建数组
var arr=new Array();
这里创建的是一个空的数组。
2)利用字面量创建数组
var arr=[];
这里创建的也是一种空的数组。
数组里面的数值之间可以通过逗号进行分割
var arr1=[1,2,'pink',true]
这种声明数组并赋值,我们称之为数组的初始化,数组里面的数据,我们称之为数组元素。
3.数组的索引(下标):用来访问数组里面的元素,数组的下标从0开始;
获取数组元素的格式: console.log(数组名[索引号])
当数组中找不到要求要输出的元素,系统输出的结果就是underfined
获取数组的小案例:定义一个数组,里面存在星期一到星期天,在控制台打印输出星期天。
// 获取数组的小案例:定义一个数组,里面存放星期一到星期天,在控制台打印输出星期天
var arr2=['星期一','星期二','星期三','星期四','星期五','星期六','星期天']
console.log(arr2[6])
二. 遍历数组
遍历数组:就是把数组的元素从头到尾访问一次(通过循环实现数组的遍历),数组的遍历通过for循环实现。
var arr=['red','pink',1,2,3]
for(var i= 0;i<=4; i++){
console.log(arr[i]);
}
原因:1.因为数组索引号从0开始,所以i必须从0开始
2. 输出的时候arr[i],其中i是当计数器进行使用的。
遍历数组的案例:请将['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维',pink];数组里的元素依次打印到控制台.
// 请将['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维',pink];数组里的元素依次打印到控制台.
var arr1=['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维','pink']
for(var i =0;i<=7;i++) {
console.log(arr1[i]);
}
// 数组的长度 可以通过 数组名.length 获取数组的长度
console.log(arr1.length);
for(var i=0; i<arr1.length ;i++){
console.log(arr1[i]);
}
注意点: 数组的长度是元素的个数,不要跟索引号进行混淆
arr.length 动态检测数组元素的个数
数组的案例:
1.数组求和及平均值,求数组[2,6,1,7,4]里面的所有元素和及平均值。
var sum=0;
var average=0;
var arr=[2,6,1,7,4]
for(var i=0 ;i <arr.length;i++){
sum+=arr[i]
// 我们这里加的是数组元素 arr[i] 不是计数器i
}
average=sum/arr.length;
console.log(sum,average);
// 想要输出多个变量,直接使用逗号进行分开
2.数组中的最大值,求数组[2,6,1,77,52,34,8,2,44,66]中的最大值。
var arr=[2,6,1,77,52,34,8,2,44,66]
var max=arr[0];
for(var i=1 ; i<arr.length; i++){
if(arr[i]>max){
max=arr[i];
}
}
console.log('该数组的最大值是'+max)
3.求数组中的最小值,求数组[98,6,1,77,52,34,8,2,44,66,90]中的最小值。
var arr=[98,6,1,77,52,34,8,2,44,66,90]
var min=arr[0];
for(var i=1; i<arr.length;i++){
if(arr[i]<min){
min=arr[i]
}
}
console.log('该数组的最小值'+min);
4.数组转换为分割字符,将数组['red','green','blue','pink']转换为字符串,并且用|或其他符号进行分割,(字符串之间的相加就是简单意义上面的拼接)。
var arr=['red','green','blue','pink'];
var str ='';
for (var i=0 ; i< arr.length ; i++){
str += arr[i] + '|';
}
console.log(str);
这种方法只能使用 | 来进行符号的分割,下面这种方法是直接声明一个变量,将所有更改的符号放在里面,后续更改项目符号,就可以实现字符串之间进行分割。
var arr=['red','green','blue','pink'];
var str ='';
var sep ='*';
// 直接声明一个变量,将所有更改的符号放在里面,后续更改项目符号,就可以实现字符串之间进行分割
for (var i=0 ; i< arr.length ; i++){
str += arr[i] + sep;
}
console.log(str);
三.新增数组元素
1.通过修改数组的长度,新增数组的元素
var arr = ['red','pink','green'];
console.log(arr.length);
arr.length = 5 ;
// 我们把数组的长度修改为5,数组里面就应该有5个元素
console.log(arr);
由于对数组进行了扩容,并没有对数组的元素进行添加,所以当输出数组中的没有被定义值的时候,输出的就是underfined。
2.新增数组元素,通过索引号的方式增加数组元素(修改索引号,增加数组元素)
var arr1 = ['red','green','blue'];
arr1[3] = 'pink';
console.log(arr1);
arr1[4] = 'yellow';
console.log(arr1);
arr1[2] = 'white';
console.log(arr1);
当输入的索引号被占有,追加的数组元素,就会替换之间的数组元素,输入的索引号没有元素进行占有,就会自动添加数组元素。
数组中新增数组元素:新建一个数组,里面存放1-10。
var arr2 = [];
// 声明空数组的时候直接使用[],不需要添加其他的东西
for(var i =0 ;i<10; i++){
// arr = i
// 不能直接对数组进行赋值
arr2[i] = i+1;
}
console.log(arr2)
数组的筛选案例:将数组[2,0,6,1,77,56,64,12,9,8,6,88]中大于等于10的元素选出来,放入新的数组当中
数组的筛选 方法一:
var arr =[2,0,6,1,77,56,64,12,9,8,6,88];
var newarr=[];
var j=0;
for(var i=0 ;i<arr.length;i++){
if(arr[i]>10){
// 新数组应该从0 开始 ,然后存入元素,索引号开始递增
newarr[j]=arr[i];
j++
}
}
console.log(newarr);
数组的筛选 方法二:
var arr =[2,0,6,1,77,56,64,12,9,8,6,88];
var newArr=[];
newArr.length;
// 数组没有存入元素的时候,该数组的长度就为0,当存入元素之后,数组的长度就会默认进行加1的操作
for(var i=0 ;i<arr.length;i++){
if(arr[i]>10){
// 新数组应该从0 开始 ,然后存入元素,索引号开始递增
newArr[newArr.length]=arr[i];
}
}
console.log(newArr)
数组的总结性案例:
1.删除数组中指定的数组元素:要求将数组[2,0,6,77,53,54,0,23,65,9]中的0去掉后,形成一个不包含0的新数组
var arr=[2,0,6,77,53,54,0,23,65,9];
var newArr=[];
for(var i=0;i<arr.length; i++){
if(arr[i] !==0){
newArr[newArr.length]=arr[i];
}
}
console.log(newArr);
2.要求:将数组['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维']的内容反过来存放,最后打印输出的是['姜维', '诸葛亮', '刘备', '黄忠', '赵云', '马超', '张飞', '关羽']
var arr=['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维'];
var newArr=[];
for(var i = arr.length - 1 ; i>=0 ; i--){
newArr[newArr.length]=arr[i]
}
console.log(newArr);
3.冒泡排序(升序)冒泡排序是一种算法,把一系列的数据按照一定的顺序进行排列显示。
var arr=[1,2,33,44,55,66,88,12,54,76];
// 外层循环管躺数
for(var i = 0 ; i <= arr.length - 1; i++){
// 里面的循环管每一躺的交换次数
for (var j = 0 ; j <= arr.length-i-1 ; j++){
// 内部交换两个变量的值,前一个和后面一个数组元素相比较
if( arr[j] > arr[j + 1]){
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1 ]= temp;
}
}
}
console.log(arr);
冒泡排序(降序排序)
var arr=[1,2,33,44,55,66,88,12,54,76];
// 外层循环管躺数
for(var i = 0 ; i <= arr.length - 1; i++){
// 里面的循环管每一躺的交换次数
for (var j = 0 ; j <= arr.length-i-1 ; j++){
// 内部交换两个变量的值,前一个和后面一个数组元素相比较
if( arr[j] < arr[j + 1]){
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1 ]= temp;
}
}
}
console.log(arr);
最后
以上就是机灵帅哥为你收集整理的JavaScript数组的全部内容,希望文章能够帮你解决JavaScript数组所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复