项目经验总结

 一、项目中对数组的操作

  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
复制代码

 

posted @   前端乔  阅读(159)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示