复杂数据类型(数组)

时间:2022-04-07 07:28:31
今天主要整理了数组的基础知识,数组在js中用到的地方很多,所以初学者的同鞋们一定要掌握,多看资料。而且大的案例中经常用到遍历数组 数组 1、数组是复杂的数据类型(对象类型) 2、存储多个值会用到数组 3、复杂类型数据都是用new来创建的 4、 未赋值的项是undefined   定义数组 1、字面量定义      a) var array=[]  //定义空数组
                array[0]="爱国"       b) var array=[1,2,3]       c) var arrs=[3] 一个数字表示数组长度是1,值是3复杂数据类型(数组)

 

2、对象创建定义数组    a) var arr1=new Array() //空数组               arr[2]="宝贝"  //空数组赋值     b)var arr2=new Array( "关于","刘备","曹操")
     c)  var arr3=new Array(3) // 一个数字表示数组的长度, 都是未定义的空元素    复杂数据类型(数组)

数组元素

1、arr.length数组元素长度2、arr[0] 通过索引值获取元素 /赋值3、数组最开始的长度是0,每增加一个,arr.length自增(可以做索引)4、数组的长度可以作为数组中最后一个新添加元素的索引值 数组的遍历数组和for循环一起使用绝配
 var arr=["","","","","",""];
//遍历数组就是循环(获取)数组每一个值
for(var i=0; i<arr.length; i++){
//i代表数组的每一个元素
console.log(arr[i]);
}
//

 

遍历数组案例

 //把1-10之间所以的奇数,放到数组中
//数组长度本身最开始是0,当每添加一个元素,数组自增1
//变量j可以用arr.length代替,因为初始化值是0,
var arr=[];
// var j=0
for(var i=1; i<=10; i++){
if(i%2!==0){
arr[arr.length]
=i;
// j++;
}
}
console.log(arr);
   //1-10之间能被3整除的数字,存到数组中
var arr=[];
for(var i=1; i<=10; i++){
if(i%3===0){
arr[arr.length]
=i;
}
}
console.log(arr)
//求一组数组所有数和的平均值
var arr=[10,20,30];
//计数器思想
var sum=0;
for(var i=0; i<arr.length; i++){
sum
+=arr[i];
}
console.log(sum);
var avg=sum/arr.length;
console.log(avg);
 //求数组中最大值
var arr=[-10,-20,-30];
//比较的数使用数组里面的,(最好是第一个或是最后一个,)
var max=arr[0];//max=arr.length-1
for( var i=1;i<arr.length; i++ ){ //可以少比较一次 让i=1
if(arr[i]>max){
//遍历数字,判断数组中每一项,如果比max大,赋值给max,
max=arr[i];
}
}
console.log(max);

 

 // 求一组数中的最大值和最小值,以及所在位置
var arr=[10,-20,30,40];
//定义最大值和最小值变量 还有他们的索引值变量
var maxValue=arr[0];
var minValue=arr[0];
var maxIndex=0;
var minIndex=0;
//求最大值
for(var i=1; i<arr.length; i++){
if(arr[i]>maxValue){
//把这个元素赋值给最大值,把对应的索引值付给minIndex
maxValue=arr[i];
maxIndex
=i;
//求最小值
}else if(arr[i]< minValue){
//把这个元素赋值给最大值,把对应的索引值付给minIndex
minValue=arr[i];
minIndex
=i;
}
}
console.log(maxValue);
console.log(maxIndex);
console.log(minValue);
console.log(minIndex);
//将字符串数组用|,或其他符合分割
var arr=["吕超","赵云","典韦","关羽","马超","张飞"];
//为了避免第一个名字前面|,把第一个名字从数组中拿出来,保存到变量sum里
var sum=arr[0];
var aa="|";
for( var i=1; i<arr.length; i++){
sum
+=aa+arr[i];
}
console.log(sum)

 

 

  //翻转数组
//思路:实现方法:1、定义一个新数组,把老数组中的元素从后往前添加到新数组中。
var arr=["刘备","关羽","张飞","诸葛亮","马超","黄忠","姜维"];
console.log(arr);
var newArr=[];

//复杂版
for(var i=0; i<arr.length; i++){
//用新数组的长度作为索引值。给定数组的最大索引值,然后减去i 因为i自增
newArr[newArr.length]=arr[arr.length-1-i];
}
console.log(newArr);

//简单版
for(var j=arr.length-1; j>=0; j--){
newArr[newArr.length]
=arr[j];
}
console.log(newArr);
//思路:实现方法;2、操作原数组,让原数组第一位和最后一位调换位置,以此类推。
for( var i=0; i<arr.length/2; i++){
//var temp=arr[i];
arr[i]=arr[arr.length-1-i];
//arr[ arr.length-1-i]=temp;
}
console.log(arr)