首页 > 其他分享 >Splice方法的图像化理解

Splice方法的图像化理解

时间:2024-04-16 17:48:16浏览次数:12  
标签:片段 Splice 剪去 数组 拼接 理解 splice 图像 array

splice在英语中的意思是拼接,在实际的代码使用中,splice就在数组中起到了一个拼接的作用

使用方法

splice(x,y,a,b,c,...)

其中x、y为数字,a、b、c为新添加的项,意思是从数组的第x项开始删除y项,并在其中添加a、b、c...,其中x、y必填,abc可不填

图像理解

现在让我们将splice方法想象成一把剪刀,splice(x,y,a,b,c,...)其中x表示剪刀落剪的位置,y表示剪去片段的长度,后面跟着的项则表示新插入的片段

或许这样表述还是有些抽象,但请接着往下看——

我们先声明一个数组

let array = [0,1,2,3,4]

它的内部结构如下——

image-20240416161602583

删除

如果我们想要删除数组之中的array[1]和array[2]以及array[3]就可以用到以下代码——

array.splice(1,3)

它的意思是从第1项开始,连续删除3项

用图像理解就是剪刀在第一项落剪,开始剪去一个长度为3的片段

image-20240416163710732

在剪去之后,将剩下的片段前后拼接,便有了新的数组——array=[0,4]

image-20240416164316441

添加

如果我们想在指定位置添加几项,那么可以将y设置成0

array.splice(1,0,’新‘)

image-20240416165300549

这样剪刀只会在对应位置剪开一个缺口,而不会剪去任何片段,之后我们将新片段插入并两端拼接,便有了下面这个新的数组——array=[0,'新',1,2,3,4]

image-20240416165424439

综合使用

array.splice(2,1,9,'好')

对于这段代码我们分步骤来看它是如何执行的——

  1. 从第二项落剪

image-20240416170633449

2.剪去长度为1的片段

image-20240416171045064

  1. 移除剪去的片段并插入新片段

    image-20240416171333567

  2. 拼接并得到新数组array=[0,1,9,'新',3,4]

    image-20240416171457894

总结

splice是非常好用的一个对数组修改的方法,可以同时实现添加、修改、删除,本文是笔者初学splice方法时的自我总结,如有遗漏或错误还请评论区斧正。

标签:片段,Splice,剪去,数组,拼接,理解,splice,图像,array
From: https://www.cnblogs.com/youngtruck/p/18138800

相关文章

  • WPF/C#实现图像滤镜优化方案:打造炫目视觉体验!
    原因:我之所以想做这个项目,是因为在之前查找关于C#/WPF相关资料时,我发现讲解图像滤镜的资源非常稀缺。此外,我注意到许多现有的开源库主要基于CPU进行图像渲染。这种方式在处理大量图像时,会导致CPU的渲染负担过重。因此,我将在下文中介绍如何通过GPU渲染来有效实现图像的各种滤镜效果......
  • day09_我的Java学习笔记 (ATM系统_理解并学会使用break、return、continue、Random、S
    ATM系统1.项目介绍与功能演示1.1系统准备、首页设计Account.java每个用户的账户信息都是一个对象,需要提供账户类。01.在Account类中定义系统相关的属性信息(卡号、姓名、密码、余额、取现额度)02.定义Getter和Setter方法03.定义有参构造器04.定义无参构造......
  • 手把手教你做阅读理解提高003-Letters Cheer Up Lonely Seniors-信件让孤独的老年人振
    PDF格式公众号回复关键字:ZKYDT003阅读理解技巧,在帮助读者有效获取和理解文本信息方面发挥着重要作用,熟练掌握如下6个技巧,可快速突破阅读理解1预览文章结构在开始深入阅读之前,快速浏览文章的标题、段落开头和结尾,可以迅速把握文章的主题、大致内容和结构标题通常能概括文......
  • 基于直方图相似性的图像分类算法FPGA实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览MATLAB测试结果:    FPGA测试结果:   上述仿真图中,红色XX表示图像读取完毕。因此输出XX。当图像输出完成之后,最下面的相似性指标 same1输出为11226,same2输出为67584.即图1和图2相似性较强,图1和图3相似性较弱。 2.算法运行软件版本vi......
  • linux 命令&理解
    linuxwindows的环境变量应该也是使用regedit实现的linux的顶层文件夹/linux系统目录层级结构swap交换区,windows系统也有,其实就是当内存不够的时候用来置换的虚拟内存具体结构/├──bin├──boot├──dev├──etc├──home│├──user1│......
  • 说说你对链表的理解?常见的操作有哪些?
    一、是什么链表(LinkedList)是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,由一系列结点(链表中每一个元素称为结点)组成每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域 节点用代码表......
  • 医疗诊断中图像识别技术还有哪些潜在的应用价值呢
    医疗诊断中,图像识别技术的潜在应用价值远不止于目前已经实现的领域。除了之前提到的医学影像分析、手术辅助和药物研发等方面的应用,图像识别技术在医疗诊断中还有以下潜在的应用价值:病理学研究:在病理学领域,图像识别技术可以自动化处理和分析数字化的病理学图像。通过对细胞、组......
  • 使用OpenCV来实现读取一个目录下的所有图像,然后将它们调整大小为1920x1080像素,并保存
    使用OpenCV来实现读取一个目录下的所有图像,然后将它们调整大小为1920x1080像素,并保存的步骤如下:安装OpenCV库:如果你还没有安装OpenCV库,可以通过pip安装:pipinstallopencv-python编写Python脚本:importosimportcv2defresize_images_in_directory(source_dir,target......
  • 深入理解并发和并行
    深入理解并发和并行1并发与并行为什么操作系统上可以同时运行多个程序而用户感觉不出来?因为操作系统营造出了可以同时运行多个程序的假象,通过调度进程以及快速切换CPU上下文,每个进程执行一会就停下来,切换到下个被调度到的进程上,这种切换速度非常快,人无法感知到,从而产生了多个任......
  • 1.安装、配置、编写、理解
    第一章【安装、配置、编写、理解】一、JDK1、相关名词SDK:软件开发包JDK:java程序开发工具包JRE:java程序运行环境API:应用程序编程接口APIDocumentation:API说明文档2、jdk安装3、oracle官方文档中提供的JDK结构图:4、JDK目录sun公司程序员--编写基础的代码-->*.java--......