项目经验总结
一、项目中对数组的操作
1.数组去重通过Set数组去重
let arr = [4, 1, 3, 3, 2, '2']; let uniqueArr = [...new Set(arr)]; console.log(uniqueArr); // [4, 1, 3, 2, "2"]
2.数组排序
方法一、sort方法排序
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序 fruits.reverse();
方法二、冒泡排序
var arr=[1,5,7,9,16,2,4];
//冒泡排序,每一趟找出最大的,总共比较次数为arr.length-1次,每次的比较次数为arr.length-1次,依次递减
var temp;
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-1;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
3.将数组转为字符串
场景一、将数组转化为普通的字符串
var a = [1,[2,3],[4,5]],[6,[7,[8,9],0]]]; //定义多维数组 var s = a.toString(); //把数组转换为字符串 console.log(S); //返回字符串“1,2,3,4,5,6,7,8,9,0”
场景二、将数组按照一定的规则分割字符串
var a = [1,2,3,4,5]; //定义数组
var s = a.join("=="); //指定分隔符
console.log(s);
4.数组的增加、删除、查找
场景一、增加 push尾插 var arr = ['a','b','c','d'] arr.push("e") // a,b,c,d,e arr.push("e", "f"); unshift()头插 var arr = ['a','b','c','d'] arr.unshift("e") // e,a,b,c,d arr.unshift("e", "f") // e,f,a,b,c,d 场景二、删除 头删 var arr = ['a','b','c','d'] arr.shift() // 删除 a, arr = ['b','c','d'] // 如果 arr = [] , arr.shift() 返回 undefined 尾删pop() var arr = ['a','b','c','d'] arr.pop() // 删除 d, arr = ['a','b','c'] // 如果 arr = [] , arr.pop() 返回 undefined 场景三、指定位置删除 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。 arrayObject.splice(index,howmany,item1) index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, ..., itemX: 可选。向数组添加的新项目。
5.数组的合并
方法一、 let arr1=[1,2,3]; let arr2=[4,5,6]; let arr3=arr1.concat(arr2); 方法二、 let arr3=[...arr1,...arr2]
6.判断一个数组中是否包含某个值
//方法一、array.indexof,判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1 let arr=[1,2,3,4,5]; let index=arr.indexof(1); console.log(index)//返回下标0 //方法二、array.includes(),判断数组中是否存在某个值,如果存在返回true,否则返回false if(arr.includes(1)){ console.log("结果成立") } //方法3、array.find(回调函数,[]),返回数组中满足条件的第一个元素的值,如果没有,返回undefined let numbers=[12,3,4,2,44]; let result=numbers.find(item=>{ return item>8 }) console.log(result)//结果是12
勤学似春起之苗,不见其增,日有所长; 辍学如磨刀之石,不见其损,日所有亏!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器