数组的相关方法总结----持续更新23.05.07

Excel相关性矩阵实战指南:从入门到业务洞察 相关性矩阵是数据分析中揭示变量间线性关联强度的基础工具,其核心原理源于Pearson相关系数——通过协方差与标准差的标准化比值,消除量纲影响,量化两组数据在散点图中的线性拟合程度。它不表达因果,但为特征筛选、业务归因和模型优化提供关键锚点。在零售、电商、SaaS等场景中,结合条件格式热力图、分组分析与动态监控,可将冷数字转化为货架陈列、用户分层、策略预警等可执行动作。尤其在无Python环境的Excel工作流中,Analysis ToolPak与CORREL函数构成高效、可控、可审计的分析双路径。 阅读详情

JavaScript中数组的相关方法总结

一、数组相关方法

1.查找

默认从下标0开始查找

①:查找 值 第一个次出现的下标位置
语法:
		数组.indexOf(所要查找的元素);
		数组.indexOf(所要查找的元素,开始的下标)
		返回值:若查找成功,返回元素的下标;若查找失败,返回-1
const arr = [1,2,3,4,3];
arr.indexOf(3);//返回值为2
②:查找 值 最后一次出现下标的位置
语法:
		数组.lastindexOf(所要查找的元素);
		数组.lastindexOf(所要查找的元素,开始的下标);
		返回值:若查找成功,返回元素的下标;若查找失败,返回-1
const arr = [1,3,5,7,5];
arr.lastindexOf(5);//返回值为4

2.重组(不会改变原数组的结构)

语法:
			数组.join(自定义的分割字符);//参数可选,省略参数,默认为逗号分隔符
			返回值:返回一个新的字符串,由分隔符连接(原数组不受影响)
const arr = [1,5,9,6,3,4,2,1,6,7,6,9,8];
const result = arr.join();
console.log(result);//1,5,9,6,3,4,2,1,6,7,6,9,8
console.log(arr);//[1, 5, 9, 6, 3, 4, 2, 1, 6, 7, 6, 9, 8]

3.添加(会改变原数组的结构)

①:从数组的首部添加元素
语法:
			数组.unshift(要添加的元素);//参数可以传一个或多个,多个用逗号隔开(元素1,元素2,...)
			返回值:返回值为 数组现在的长度(添加元素之后的长度)
const arr = [1,3,2,4,6];
const result = arr.unshift(5);
console.log(result);//6
console.log(arr.length);//6
console.log(arr);//[5, 1, 3, 2, 4, 6]
②:从数组的尾部添加元素
语法: 
			数组.push(要添加的元素);//参数可以传一个或多个,多个用逗号隔开(元素1,元素2,...)
			返回值:返回值为 数组现在的长度(添加元素之后的长度)
const arr = [1,3,2,4,6];
const result = arr.push(8);
console.log(result);//6(返回值为数值类型)
console.log(arr.length);//6(返回值为数值类型)
console.log(arr);//[1, 3, 2, 4, 6, 8]
③:在数组任意位置添加元素
语法:
			数组.splice(要添加元素的位置(下标位置),0,要添加的元素(元素1,元素2,...));
			第二个参数代表的是 要删除元素的个数,添加时不需要删除所以设置为0,此参数在有三个参数时,不可省略!
			返回值:在作为添加元素的方法时,返回为 空数组
			【实际返回的为 被删除元素所组成的数组,为0时,返回空数组】
const arr = [1,2,5,4,6,7];
const result = arr.splice(2, 0, 6,7);
console.log(result);//[]
console.log(arr);//[1, 2, 6, 7, 5, 4, 6, 7]

4.删除(会改变原数组的结构)

①:删除数组中第一个元素
语法:
			数组.shift();//无参数
			返回值:返回值为 被删除元素的值
const arr = [1,2,5,4,6,7];
const result = arr.shift();
console.log(result);//1
console.log(arr);//[2, 5, 4, 6, 7]
②:删除数组中最后一个元素
语法:
			数组.pop();//无参数
			返回值:返回值为 被删除元素的值
const arr = [1,2,5,4,6,7];
const result = arr.pop();
console.log(result);//7
console.log(arr);//[1, 2, 5, 4, 6]
③:删除数组中任意位置,任意个数的元素
语法:
			数组.splice(下标位置);//从下标位置开始,一直到数组的末尾,全部删除
			数组.splice(下标位置,删除个数);//从下标位置开始,然后根据删除的个数,进行删除
			返回值:返回值为 被删除的元素所组成的数组,删除个数为0时,返回空数组
const arr = [1,2,5,4,6,7];
const result = arr.splice(2);
console.log(result);//[5, 4, 6, 7]
console.log(arr);//[1, 2]

const arr1 = [1,2,5,4,6,7];
const result1 = arr1.splice(2,3);
console.log(result1);//[5, 4, 6]
console.log(arr1);//[1, 2, 7]

5.翻转——颠倒数组中元素的顺序(会改变原数组的结构)

语法:
			数组名.reverse();//无参数
			返回值:返回值为 颠倒后的数组(与原数组地址一致)
const arr = [1,5,3,4,7,6,2];
console.log(arr.reverse());//[2, 6, 7, 4, 3, 5, 1]
console.log(arr);//[2, 6, 7, 4, 3, 5, 1]
console.log(result === arr);//true

6.合并(不会影响原数组的结构)

语法: 
			数组.concat();//用于连接两个或多个数组
			返回值:返回由两个或多个字符串组成的新数组
const arr = [1,5,3,4,7,6,2];
const arr1 = [5,3,4,6,88,22];
const arr2 = [6,0,33,44,11];
const result = arr.concat(arr1);
const result1 = arr.concat(arr1,arr2);
console.log(result);//[1, 5, 3, 4, 7, 6, 2, 5, 3, 4, 6, 88, 22]
console.log(result1);//[1, 5, 3, 4, 7, 6, 2, 5, 3, 4, 6, 88, 22, 6, 0, 33, 44, 11]
console.log(arr);//[1, 5, 3, 4, 7, 6, 2]
console.log(arr1);//[5, 3, 4, 6, 88, 22]
console.log(arr2);//[6, 0, 33, 44, 11]

7.转换——强制转换为字符串

语法: 
			数组.toString();//无参数
			返回值:返回新的字符串
const arr = [6,0,33,44,11];
const result = arr.toString();
console.log(result);//6,0,33,44,11
console.log(arr);//[6, 0, 33, 44, 11]

8.排序(会改变原数组的结构)

语法:
			数组.sort();
			数组.sort(function(a,b) {
					//a代表当前比较数的下一个比较数,b代表当前比较数
					//比较函数应该具有两个参数 a 和 b,其返回值如下:
					//若 a 小于 b,即 a - b 小于零,则返回一个小于零的值,数组将按照升序排列。
					//若 a 等于 b,则返回 0。
					//若 a 大于 b, 即 a - b 大于零,则返回一个大于零的值,数组将按照降序排列。
					return a-b;
			});
			默认排序按照字符的Unicode位来进行排序,若想给数字排序,你必须通过一个函数作为参数来调用
const arr = [1,2,5,6,4,3,7,8];

//升序
const result = arr.sort(function (a,b) {
    return a-b;
});
console.log(result);//[1, 2, 3, 4, 5, 6, 7, 8]
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8]

// 降序
const result = arr.sort(function (a,b) {
    return b-a;
});
console.log(result);//[8, 7, 6, 5, 4, 3, 2, 1]
console.log(arr);//[8, 7, 6, 5, 4, 3, 2, 1]

9. 空数组的初始化

语法: 数组.fill(用于初始化填充的数据,填充数据的起始下标,填充数据的终止下标)
// 单个参数,该方法会用该参数的值填充整个数组
var arr1 = new Array(5)
console.log(arr1.fill(3)); //[3,3,3,3,3]
var arr2 = [1, 2, 3, 4, 5]
console.log(arr2.fill(0)); //[0,0,0,0,0]

// 两个参数的时候,第一个为填充的元素,第二个为填充的起始下标
var arr3 = [0, 1, 2, 3, 4, 5, 6]
console.log(arr3.fill(1, 3)); //[0,1,2,1,1,1,1]

// 三个参数的时候,第一个参数为填充的元素
//第二个和第三个参数分别指填充元素的起始和终止下标,终止下标的元素不会被修改
var arr4 = [0, 1, 2, 3, 4, 5]
console.log(arr4.fill(1, 3, 5)); //[0,1,2,1,1,5]

//如果提供的起始下标或结束下标值为负数,则会使用数组长度与下标的值的和算出对应的下标
//eg. 起始下标为-1 就相当于array.length-1
var arr5 = [0, 1, 2, 3, 4, 5]
console.log(arr5.fill(1, -3));//[0,1,2,1,1,1]
var arr6 = [0, 1, 2, 3, 4, 5]
console.log(arr6.fill(1, 3, -2));//[0,1,2,1,4,5]

二、数组迭代(循环)方法(不会改变原数组的结构)

每一个方法的实际参数都为回调函数,不会影响原数组的结构

1.判断数组中是否符合条件

①:判断数组中是否存在符合条件的元素
语法:
			数组.some(function(当前元素,数组元素的下标,原数组结构) {
					return 条件语句;
			});
			返回值:只要有一个符合条件的元素,就返回true,遍历停止;若直到结束都没有,返回false
const arr = [1,3,2,5,4,6,7,9];
const result = arr.some(function (item) {
   return item % 2 === 0;
});
console.log(result);//true
console.log(arr);//[1, 3, 2, 5, 4, 6, 7, 9]
②:判断数组中所以元素是否都符合条件
语法:
			数组.every(function(当前元素,数组元素的下标,原数组结构) {
					return 条件语句;
			});
			返回值:只要有一个不符合条件的元素,就返回false,遍历停止;若全部符合,即返回true
const arr = [1,3,2,5,4,6,7,9];
const result1 = arr.every(function (item) {
    return item % 2 === 0;
});
console.log(result1);//false
console.log(arr);//[1, 3, 2, 5, 4, 6, 7, 9]

const arr1 = [2,4,6,8,10,12];
const result2 = arr1.every(function(item) {
    return item % 2 === 0;
})
console.log(result2);//true

2. 遍历及改变元素的值

语法:
			数组.map(function(当前元素,数组元素的下标,原数组结构) {
					return 当前元素 * 10;
			})
			不光可以遍历现有数组的结构,而且还可以按照回调函数中设定的条件修改数组中元素的值
			返回值:返回一个改变以后的新数组
const arr = [1,3,2,5,7,8];
const result = arr.map(function(item) {
   return item*10;
});
console.log(result);//[10, 30, 20, 50, 70, 80]
console.log(arr);//[1, 3, 2, 5, 7, 8]

3. 过滤数组中符合条件的元素组成新的数组

语法:
			数组.filter(function(当前元素,数组元素的下标,原数组结构) {
					return 当前元素 % 2 === 0;
			});
			从现有数组结构中按照条件进行过滤满足条件的元素
			返回值:返回一个符合过滤条件元素组成的新数组
const arr = [1,3,2,5,7,8,6,12];
const result1 = arr.filter(function(item) {
    return item % 2 === 0;
});
console.log(result1);//[2, 8, 6, 12]
console.log(arr);//[1, 3, 2, 5, 7, 8, 6, 12]

4.查找符合条件的元素并返回符合条件的元素

语法:
			数组.find(function(当前元素,数组元素的下标,原数组结构) {
					return 当前元素 % 2 ===0
			});
			返回值:返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined
const result2 = arr.find(function (item) {
    return item % 2 === 0;
});
console.log(result2);//2
console.log(arr);//[1, 3, 2, 5, 7, 8, 6, 12]

5. 只遍历无返回值

语法:
			数组.forEach(function(当前元素,数组元素的下标,原数组结构) {
					if(item % 2 === 0){
				            //可执行语句,无返回值(无return);
				    }
			});
arr.forEach(function(item) {
    if(item % 2 === 0) {
        console.log(item);
    }
});
//返回值为2  8  6  12(console.log自动换行)

6.求和

语法:
			数组.reduce(function(total, currentValue, currentIndex, arr), initialValue)
			接收一个函数作为累加器,数组中的每个值(从左到右)开始相加并减少,最终计算为一个值
			返回值:因为接收的为一个回调函数,返回值即为回调函数的返回值
			
			注意:此方法需要返回值,所以回调函数要写返回值(return之后的表达式作为返回值)!
			
			方法中的参数:第一个参数必写,接收一个回调函数;第二个参数可选,表示传递给函数的初始值
			
			函数中的参数:第一个参数必写,表示初始值,或者计算结束后的返回值;第二个参数必写,表示当前元素
						第三个参数可选,表示当前元素的下标;第四个参数可选,表示当前元素所属的数组对象
const arr = [1,6,3,4,2,8,7,9,1,5,3];
//previousValue表示上一次的值,currentValue表示当前的值
const result = arr.reduce(function (previousValue,currentValue) {
    return previousValue + currentValue;
});
console.log(result);//49 (返回值为数值类型)
JavaScript:实现给定一个数字数组,返回最大乘积数组中的 3 个数字算法(附完整源码) 阅读详情

相关推荐

2026华为OD面试手撕代码真题目录

一般面试的时候每一轮技术面都会出一到两个手撕代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,很注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),手撕代码题会给你后面的面试定一个基调。

MISAYAONE的博客 9万+

算法题:给你一个整形数组,要求删除其中一个元素,使得剩余元素的乘积最大。如何找到这个待删除元素?

算法题:给你一个整形数组,要求删除其中一个元素,使得剩余元素的乘积最大。如何找到这个待删除元素? ​ 分析情况:当数组中有负数的情况 和 没有负数的情况 当数组中全是正整型的值 ,就取其中最小的值 当数组中有负数的情况时候 奇数个数的负数 个数为负数,取最小的负数 偶数个数的负数 取正整数最小的值 代码实现 思路: 判断数组中负数的个数 ​ 1.如果数组中负数的个数是奇...

飞鱼的博客 1718

SE-0526激光避障雷达扫描传感器输入输出连线方法及PLC联机实例说明

SE-0526激光避障雷达扫描传感器广泛应用于原材料运输与处理、移动装配、托盘或货架运输、产成品自动运输、生产线自动对接,餐厅自助送餐等AGV小车、服务机器人、仓储机器人、无人叉车导航、避障、定位等。 本文重点介绍SE-0526激光避障雷达扫描传感器输入输出连线方法及PLC联机实例说明。

华翔天诚科技 2695

数组代码代码

return 0可以 终止 main() 函数,并返回值 0。利用函数查找数组中某个值,找到了返回1,没有找到返回0;

DBSHOY的博客 165

STM32驱动HC-SR04超声波模块:两种精准测距方案详解

本文详解STM32驱动HC-SR04超声波模块的两种精准测距方案:定时器中断计数法和外部中断边沿检测法。涵盖硬件连接、代码实现与优化技巧,帮助开发者根据精度和复杂度需求选择合适方案,提升超声波测距在嵌入式项目中的稳定性和准确性。

g5h6i的博客 683

从入门到精通:激光器恒流驱动电路的设计与选型指南

本文深入解析了激光器恒流驱动电路的设计与选型。文章从基础电路原理讲起,对比了简易恒流源与高精度运放反馈方案的优劣,并重点阐述了如何为不同功率与精度要求的激光器项目选择合适的恒流驱动方案,强调了恒流源对于保障激光器稳定工作、防止热失控及延长寿命的核心作用。

grafana6viz的博客 711

数组处理三个常用的函数

查找满足条件的第一个元素并返回如[{id:1,name:'小张'},{id:2,name:'小王'},{id:1,name:'小李'}]查找id===1后返回{id:1,name:'小张'}语法 2.map 返回值为某一数组如[{id:1,name:'小张'},{id:2,name:'小王'},{id:1,name:'小李'}]返回id则返回值为[1,2,1]可做封装如加一个id则返回值为[{"id":1},{"id":2},{"id":1}]语法: 3.filter 返回值为满足条件的所有元素

qq_55628994的博客 314

图像去雾常见数据集

上述数据集涵盖了室内、室外、真实和合成等多种场景,可以满足不同研究需求。在选择数据集时,建议根据具体任务的应用场景和目标选择合适的数据集,例如真实雾天图像适合模型的实际应用验证,而合成数据则适合模型的快速迭代和训练。希望本文能为从事图像去雾研究的朋友提供一些帮助!

m0_68604571的博客 6334

从零到一:我的技术博客导航(持续更新)

Blog目录涵盖内容包括AI 相关工具,C#相关知识,架构,设计模式,C#语法基础及进阶,LINQ,WPF,MAUI,数据库,Git,SVN,Github,MCP等

冰茶的博客 1457

机器学习教程 之 半监督学习 Co-training 协同训练 (论文、算法、数据集、代码)

这篇博客介绍的是一篇用于半监督分类问题的方法: 协同训练 Co-training, A. Blum and T. Mitchell, “Combining labeled and unlabeled data with co-training,” in Proc. of the 11th Annual Conf. on Computational Learning Theory, 1998.,这算是半监督领域里面始祖级的论文了,是1998年两位CMU大佬提出的方法。 之前还写过一篇关于Tri-trainin

冯良骏 的 博客 1万+

Revit模型转点云全流程:从OBJ导出到CloudCompare点云生成(2020版)

本文详细介绍了将Revit模型转换为点云数据的完整流程,特别针对Revit 2020用户。通过使用OBJ导出插件和开源软件CloudCompare,实现从模型导出、网格采样到生成结构化PCD点云的全过程,并提供了关键参数设置与常见问题解决方案,为BIM与三维数字孪生应用提供技术支持。

oo7890的博客 154

day05(数组+二维数组)

数组+二维数组

A947809647的专栏 908

OpenStack [ compute_id ] 设计上的小缺陷

而 nova 代码中硬编码(或默认配置)将 compute_id 放在 site-packages 目录,属于 设计上的小缺陷—— 把 “库安装目录” 和 “运行时数据目录” 混在一起了,才导致需要临时调整这个目录的权限。# 配置项说明:node_identity_file 是 nova 用于指定节点标识文件路径的官方配置项,优先级高于代码中的默认路径。自定义 compute_id 路径,指向 /var/lib/nova/ 目录下的 compute_id 文件;

求知若渴,虚心若愚。 491

Java 基础 整个基础班 day01 -- day05 完整学习知识(代码+练习+打印结果)跟着手把手敲一遍就会

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。浅红色文字:一级目录二级目录三级目录。

weixin_38716347的博客 899

<PLC><socket><汇川>汇川PLC使用socket与其他控制器(如上位机)通讯模板程序示例

以上介绍了汇川PLC通用socket通讯的示例,事实上,汇川的官方手册也有使用示例,可以直接仿照使用,也可以加以修改。

用沸腾的热血,支付我们的人生吧! 3248

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python开发题库-进阶(持续更新2020-3-18)

文章目录1.网络相关01 IP地址的正则03 三次握手四次挥手全过程 为什么握手不是三次或者两次04 使用python打开百度页面05 进程 线程 协程06 IO多路复用07 TCP和UDP的区别09 get和post post和put10 有一个文件,这个文件只能被同时打开一个。这是什么软件模式 ??12 标准的分层(七层模型) ,mac地址在哪层,ip地址在哪层,arp协议是干嘛(为什么要...

weixin_45163798的博客 7111

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

2026前端面试题汇总(持续更新2026-06-18)

本文汇总了2026年前端面试高频考点,涵盖字节、腾讯、快手等大厂及AI方向的面试真题。内容包含JavaScript核心(事件循环、数据类型判断)、框架原理(Vue/React响应式)、性能优化(FCP、虚拟列表)等专题,由华为HDE专家整理。文章平均质量分95,总阅读量超2万,持续更新中,适合前端开发者收藏备考。

weixin_50077637的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

html5 js常用函数ppt,【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)...

Util.js (持续更新中...)项目描述Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包含:数组类、浏览器类、日期类、函数类、数学类、媒体类、节点类、对象类、字符串类、类型检测类、正则表达式类等内容。使用方法1. 引入Bable transpiler以保证支持ES6或引入压缩版2. 引入工具函数文件Util.js或引入压缩版3. 使用举例_Example 1_: 通过调用 ...

weixin_35034072的博客 430

【算法专题】《程序员面试金典 - 学习计划 - 力扣(LeetCode)》学习大纲 & 学习笔记(持续更新中......)

【算法专题】程序员面试金典 - 学习计划 - 力扣(LeetCode)

Shipley_Leo的博客 3402

Excel相关矩阵实战指南:从数据关系到业务决策

相关矩阵是揭示多变量间线性关联强度与方向的基础统计工具,其核心原理在于计算两两变量的皮尔逊相关系数,反映共变趋势而非因果逻辑。该技术具备低门槛、高可解释性与强业务对齐优势,广泛应用于营销归因、运营诊断、产品优化等场景。在财务分析、电商复盘、SaaS客户健康度评估中,它能快速识别冗余指标、预警矛盾信号、挖掘潜在线索。尤其适合Excel环境下的日常归因分析——无需编程基础,即可构建动态、可审计、易交付的关系热力图。本文聚焦‘如何用Excel做出真正指导行动的相关矩阵’,覆盖数据清洗、公式构建、可视化增强与三角定

weixin_30251829的博客 457

HarmonyOS 6效果实现:“二维数组分行“网格布局策略——通过 collectRows() 方法将一维数组转换为二维数组

引言:鸿蒙声明式UI在垂直社区领域的工程实践 在 HarmonyOS 6.1.1 的技术生态体系中,ArkTS 声明式 UI 开发范式已经成为构建移动端应用的核心方法论。基于HarmonyOS API 24 提供的丰富组件库和完整的装饰器体系,开发者能够以极高的代码组织效率构建出业务逻辑复杂、交互层次丰富、视觉设计精美的垂直领域社区应用。与传统的命令式 UI 开发模式不同,ArkTS 将"状态驱动视图"这一核心理念贯穿始终——开发者只需要声明状态变量与 UI 组件之间的绑定关系,当状态发生变化时,框架会自动

2501_92985290的博客 222

美团Java开发工程师岗位职能要求,持续更新大厂面试笔试题

02 JVM 线程 JVM内存区域 JVM运行时内存 垃圾回收与算法 JAVA四种引用类型 GC分代收集算法 VS 分区收集算法 GC垃圾收集器 JAVA IO/NIO JVM类加载器 03 JAVA集合 接口继承关系和实现 LIST SET MAP 04 JAVA多线程并发 JAVA并发知识库 JAVA线程实现/创建方式 4种线程池 线程生命周期(状态) 终止线程4种方式 sleep与wait区别 start与run区别 JAVA后台线程 JAVA锁 线程基本方法 线程上下文切换 同步锁与死

m0_56255097的博客 157

【YiFeiWebApi】YiFeIWebApi更新日志

维度数据更新记录总数50+ 条新增接口数100+ 个业务接口框架升级核心架构改造BaseController 抽象、分布式缓存、全局异常处理、依赖注入重构性能优化N+1 治理、O(n)→O(1) 算法优化、并行查询、缓存策略安全增强JWT、IP 白名单、授权码、限流、CORS 可配置测试覆盖单元测试逐步完善。

德仔 1576

ML可观测性实战:构建数据漂移与模型性能持续验证闭环

机器学习可观测性(ML Observability)是保障AI模型在生产环境中稳定可信运行的核心能力,其本质在于监控数据分布、特征稳定性与模型预测行为的一致性,而非仅关注系统资源指标。它基于数据漂移检测(Data Drift Detection)识别输入异常,依托模型性能回归(Model Performance Regression)量化效果衰减,并通过轻量级采集、本地聚合与解耦分析实现低侵入落地。该技术已广泛应用于电商推荐、金融风控、实时搜索等高可用场景,支撑分钟级异常发现、自动采样归因与闭环响应。本文聚

weixin_30562507的博客 485

【操作系统 / 系统编程】2025秋招超详细复习指南 - 基于Linux环境进行全面复习 - 持续更新(目前3.6w字,预计1h可读完)

八股看得头昏眼花?还是得理解知识本身

在这个博客里,我会分享我的技术见解、项目经验和学习笔记,感谢各位支持~ 2507

PostgreSQL 18.4、17.10、16.14、15.18、14.23 版本正式发布

发布时间:2026-05-14发布机构:PostgreSQL 全球开发组PostgreSQL 全球开发组完成全系支持版本迭代更新,本次更新覆盖 18.4、17.10、16.14、15.18、14.23 五个版本。新版本共计修复 11 项安全漏洞,同时解决过去数月内上报的六十余项程序缺陷。完整变更内容可查阅。

IvorySQL的博客 487
上一篇: 2022年 jdk8的下载与安装(自我储备)
下一篇: 关于express模块下request.on方法的详细说明
engineer_why
博客等级 码龄6年 233粉丝 10原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

engineer_why

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值