JavaScript中数组对象方法总结

如何创建一个数组
  • new Array()
  • Array.of()
//标准的定义
let arr=new Array("dxy",1,2,3);
//推荐使用
let arr=["dxy",1,2,3];//数组是一个对象,引用类型。

  • 数据创建的细节
    若要添加6这个元素
let arr=new Array(6);// 会创建6个空元素
let arr=Array.of(6);//可以将6这个元素加进去
数组的类型转换与检测
  • isArray()
//1.检测
Array.isArray();
//2.转换
let str=[1,2,3].toString();
let str=.String([1,2,3]);
let str=[1,2,3].join(" |");//用连接符将其转换成字符串
console.log(location.herf+"?id" + str);
// 其他类型转换为数组
let str="hhhxxxkkk"
str.split(",");
Array.from(str);//有length属性的元素可以由from转换为 数组

let obj={
 name:"dxy",
 age:18,
 length:2  //必须加length才可使用
}
console.log(Array.from(obj));

j检测数组的4中方式

解构赋值及三点运算符(展开语法)

注意:
...args用作传参,则吸星大法,吸收所有的参数值
若为赋值,则 表示将数组中的元素拿出来展开

//给一个对象或者数组直接赋值
		let arr=["dxy",18]
		//let name=arr[0];
		//let age=arr[1];
		 let[name,age]=arr;
		console.log(name,age);
		//必须加声明
		let [name,age]=["dxy",18];
		console.log(name,age);
			//只想给age赋值
			let [,age]=["dxy",18];
			//...args用作传参,则吸星大法,吸收所有的参数值
			//若为赋值,则 表示将数组中的元素拿出来,展开
			
			// let [name,...args]=["dxy",18,'gaosan',34];
			// console.log(args);
			// let a=['zsh',...args];
			// console.log(a);
			//解构将值平均分给所定义的对象
			 let [name,age=18]=["dxy"];
		     console.log(age);
数据出栈入栈操作
  • push() // 向后追加
  • pop () // 从后弹出
  • -unshift () // 向前追加
  • shift() // 从前边弹出
  • fill()
  console.log([1,2,3].fill('dxy',1));//从第一个位置添加
splice与slice实现数组的增删改查

注意:slice不会改变原数组
splice会改变原数组

let ar=[d,c,b];
let var=arr.slice(1,2);//得到一个新数组从第一个数组开始截取2个

 let arr=[1,2,3,4,5];
 arr.splice(2,1);   //从下标2开始 删除一个
 console.log(arr);
 arr.splice(3,0,'dxy');//从中间下标为3的位置增加
 arr.splice(arr.length,0,7);//末尾增加   从最后一个位置开始,不删除任何东西,增加7  
 console.log(arr);
 arr.splice(0,3,"dxy","zsh");//替换   0-3替换为 dxy,zsh
 console.log(arr);

  • 实战将一个数组中的元素从第一个位置移动到第三个位置
function move(array,from,to){
   if(from<0||to >=arry.length){
    console.log("参数错误")
      return ;
    }
     let newArray=[...array];
     let item=newArray.splice(from,1);
	     newArray.splice(to,0,...item);
		 return newArray;
			}
			let array=[1,2,3,4,5];
			console.log(move(array,1,3))
清空数组的多种操作
let arr=[1,2,3,4];
arr=[]; 
let arr1=arr; //浅拷贝
arr.length=0; //深拷贝
arr.splice(0,hd.length);
while(arr.pop()){}
拆分和合并
  • split()
  • join()
  • concat()
  • 三点运算符
  • 复制元素copyWithin
           let str="dxy,hhh";
			let str1=str.split(",");
			console.log(str1);
			let str2=str1.join("-");
			console.log(str2);
			
			let arr=[1,2,3,4,5];
			let arr2=["dxy","beauty"];
			let add=["w","c"]
			let arr3=arr2.concat(arr,add);
			console.log(arr3);
			arr=[...arr,...arr2];
			console.log(arr)
			
			//复制
			
			arr.copyWithin(2,0,2)  //复制到第二个位置,从0开始,到2结束 复制下标为0 ,1 的元素
			console.log(arr);
数组的查找
  • indexOf(左) 返回下标
  • lastIndexOf(右侧)返回-1 表示没找到
if (arr.indexOf(2)!=-1){
console.log("找到了");
}
  • includes 返回ture or false
  • find 返回找到的值
  • findIndex 返回索引的位置
includes方法的实现原理
function includes(array,find){
    for(let value of array){
	  if(value == find) return true;
    }
    return false;
}
let arr=[1,2,3,4,8];
 console.log(includes(arr,1))
find与findIndex新增方法
循环操作方法
  • forEach
  • iterator
every与some
filter 过滤元素的使用
let lesson=[
{title:"xxxx",category:"css"},
{title:"xxxx",category:"css"},
{title:"xxxx",category:"js"},
]
let cssLesson=lesson,filter(function(lesson){
return lesson["category"]="css";
})
 console.log("cssLesson");
map and set
  • map不改变原数组
let arr=['hdcms','hhh'];
let arr1=arr.map(function(value,index,arr){
value=`sss-${arr1}`
})
reduce方法
map和foreach遍历数组的区别

可参考了解更多

数组去重的方法

可参考https://blog.csdn.net/jiangwei1994/article/details/82992985

Array.from的用法

可参考https://blog.csdn.net/qq_27970999/article/details/78752110?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

  • 不会改变原来数组的有返回新数组
    concat()—连接两个或更多的数组,并返回结果。

every()—检测数组元素的每个元素是否都符合条件。

some()—检测数组元素中是否有元素符合指定条件。

filter()—检测数组元素,并返回符合条件所有元素的数组。

indexOf()—搜索数组中的元素,并返回它所在的位置。

join()—把数组的所有元素放入一个字符串。

toString()—把数组转换为字符串,并返回结果。
lastIndexOf()—返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

map()—通过指定函数处理数组的每个元素,并返回处理后的数组。

slice()—选取数组的的一部分,并返回一个新数组。

valueOf()—返回数组对象的原始值。

  • 会改变原来数组的有在原数组上操作
    pop()—删除数组的最后一个元素并返回删除的元素。

push()—向数组的末尾添加一个或更多元素,并返回新的长度。

shift()—删除并返回数组的第一个元素。

unshift()—向数组的开头添加一个或更多元素,并返回新的长度。

reverse()—反转数组的元素顺序。

sort()—对数组的元素进行排序。

splice()—用于插入、删除或替换数组的元素。

持续更新中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值