0
点赞
收藏
分享

微信扫一扫

JavaScript----数组对象

萨科潘 2022-04-19 阅读 46

目录

🍓什么是数组?

🍓创建数组的两种方式

🐇Array()构造函数的方式创建数组

🐇字面量方式创建数组

🍓检测是否为数组的两种方式

🐇instanceof 运算符

🐇Array.isArray() 

🍓遍历数组的三种方式

🐇  for循环

🐇  for  in

🐇  forEach()

🐇  map()映射

🐇  forEach() 求和

🐇  随机数组

🐇 map() 映射 对应 

用map()做判断

🍓数组对象 方法

🐇pop()  删除

🐇shift()  删除

🐇push()  添加

🐇unshift()  添加

🍓数组排序

🐇recerse()

🐇  sort()

🐇 toString()   数组转换为字符串

🐇concat

🐇join()

🐇splice()

🐇filtre() 过滤去重

🐇reduce() 迭代求和



🍓什么是数组?

🍓创建数组的两种方式

🐇Array()构造函数的方式创建数组

语法:

		//构造函数方式
		var arr=new Array();//创建了一个空数组
		var arr=new Array(10;"hello",true,"abc");
		var arr=new Array(2);//创建了一个长度为2的数组,但还是一个空数组


🐇字面量方式创建数组

		//字面量方式
		var arr=[];//创建了一个空数组
		var arr=[10;"hello",true,"abc"];

🍓检测是否为数组的两种方式

🐇instanceof 运算符

		var arr=[];
		var obj={};
		console.log(arr instanceof Array);//true
		console.log(obj instanceof Array);//false

🐇Array.isArray() 

		//检测是否为数组  Array.isArray()  h5新增方法		
        var arr=[];
		var obj={};
		console.log(Array.isArray(arr));//true
		console.log(Array.isArray(obj));//false

🍓遍历数组的三种方式

🐇  for循环

		var arr=[1,2,3,"hello",true,"abc"];
		for(var i=0;i<arr.length;i++){
			console.log(arr[i]);
		}

🐇  for  in

语法结构:

		var arr2=[1,2,3,"hello",true,"abc"];
		for(var i in arr2){
			console.log(arr2[i]);
		}

🐇  forEach()

语法结构:

		arr.forEach(function(item,i,arr){
			console.log(item);//遍历数组中的每一个元素
			console.log(i);//索引号,下标
			console.log(arr);//当前元素的数组
		})

🐇  map()映射

和 forEach()在遍历的时候用法一样

		arr.map(function(item, i, arr) {
			console.log(item); //遍历数组中的每一个元素
			console.log(i); //索引号,下标
			console.log(arr); //当前元素的数组
		})

🐇  forEach() 求和

		var res=[100,98,45,67,93,32,56];
		var sum=0;
		res.forEach(function(item){
			sum+=item;
		});
		console.log("求和结果为:",sum);//求和结果为: 491

🐇  随机数组

		var nameArr=["翠花","富贵","铁牛","二狗","龙傲天"];
		for(var i=0;i<nameArr.length;i++){
			console.log(i);
			console.log(nameArr[i]);
		}
		var a=Math.floor(Math.random()*5);
		console.log(a);
		console.log(nameArr[a]);

🐇 map() 映射 对应 

举个栗子:

用map()做判断

		var res=[100,67,44,88,68,90];
		var a=res.map(function(item,i,arr){
			// console.log(item);//遍历的每个元素
			if(item>=60){
				return"及格";
			}else{
				return "不及格"
			}
		});
		console.log(a); //['及格', '及格', '不及格', '及格', '及格', '及格']


🍓数组对象 方法

🐇pop()  删除

		 var arr = ["hello", 110, 120, "abc"];
		 console.log(arr.pop());//abc
	     console.log(arr);//0: "hello"110 120
    

🐇shift()  删除

		var arr = ["hello", 110, 120, "abc"];
		console.log(arr.shift());//hello
		console.log(arr);[110, 120, 'abc']

🐇push()  添加

		var arr = ["hello", 110, 120, "abc"];
		console.log(arr.push("yaya"));//5
		console.log(arr);//['hello', 110, 120, 'abc', 'yaya']

举个栗子:

让一个包含成绩的数组[60,50,98,76,89,34,77,63]要求把成绩低于60的删除,剩余的放到新数组里面

		var arr1 = [60, 50, 98, 76, 89, 34, 77, 63];
		var newArr = [];
		for (var i = 0; i < arr1.length; i++) {
			if (arr1[i] > 60) {
				newArr.push(arr1[i]);
			}
		}
		console.log(newArr);//[98, 76, 89, 77, 63]

🐇unshift()  添加

		var arr = ["hello", 110, 120, "abc"];
        console.log(arr.unshift("yeye")); //5
		console.log(arr);//['yeye', 'hello', 110, 120, 'abc']

🍓数组排序

🐇recerse()

方法用于颠倒数组中元素的顺序

		var arr=[10,3,6,"hello",true,8];
		arr.reverse();//颠倒数组,
		console.log(arr);//会修改原数组,颠倒
		//[8, true, 'hello', 6, 3, 10]

🐇  sort()

语法结构:

举个栗子:

		var arr = [12, 1, 5, 7, 90, 29, 8, 9];
		arr.sort(function(x, y) {
			// return x-y;//升序
			return y - x; //降序
		});

		//下面是封装过的排序数组
		arr.sort(fn);

		function fn(a, b) {
			// return a-b;//升序
			return b - a; //降序
		}
		console.log("排序后的数组", arr);

🐇 toString()   数组转换为字符串

			var arr=[1,2,3];
			console.log(arr.toString());//1,2,3

🐇concat

	var arr=[10,3,6,"hello",true,8];
		var arr1=["abc",100];
		console.log(arr.concat(arr1,"welcome"));

🐇join()

		var arr=[10,3,6,"hello",true,8];
		console.log(arr.join());//10,3,6,hello,true,8
		console.log(arr.join("-"));//10-3-6-hello-true-8

🐇splice()

		var arr = [10, 7, "hello", 8, true];
		console.log(arr.splice(2, 2)); // ['hello', 8]
		console.log(arr);//[10, 7, true]
		console.log(arr.splice(-2, 2)); //[7, true]
		console.log(arr);//[10]
		console.log(arr.splice(-2, 2, "world", 100, "abc")); //[10]
		console.log(arr);//['world', 100, 'abc']
		console.log(arr.splice(2, 2, "world", 100, "abc")); //['abc']
		console.log(arr); //['world', 100, 'world', 100, 'abc']

🐇filtre() 过滤去重

		var newArr = arr.filter(function(item, i) {
			return arr.indexOf(item) === i;
		});
		//简写成箭头函数方式
		var newArr = arr.filter((item, i) => arr.indexOf(item) === i);
		console.log(newArr);

🐇reduce() 迭代求和

举报

相关推荐

0 条评论