首页
学习
活动
专区
圈层
工具
发布

JavaScript中数组的splice方法和slice方法详解

JavaScript中数组的splice方法和slice方法详解 最近在做一些算法题,不能说不知道splice方法和slice方法怎么用,但是总是写出来有点点小问题,干脆就整理一下,再试两个小例子写一篇文章...splice方法 splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。...其中start是修改开始的位置,deleteCount是从start开始删除多少内容,其余的参数如果有的话就表示在start这个位置插入对应的元素。...如果start是负数,就倒着从后往前截取 由于splice方法是对原数组进行修改 我们经常用的就是arr.splice(X,X,XXX)这样的形式,而不会把它专门赋值给另一个变量 slice方法 **slice...()** 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。

1.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    javascript易混淆的split()、splice()、slice()方法详解

    很多时候,一门语言总有那么些相似的方法,容易让人傻傻分不清楚,尤其在不经常用的时候。而本文主要简单总结了JavaScript中的关于字符串和数组中三个容易混淆的方法。...旨在方便查阅,在容易混淆的时候有据可查。如读者有疑问,欢迎留言交流。谢谢! 一、Split() Split是切割字符串的一种方法,该方法主要用于把一个字符串分割成字符串数组。 用于字符串对象。...如果没有设置该参数,整个字符串都会被分割,不考虑它的长度(一般情况下不设定这个参数).  注意:字符串是不可变的,因此本方法是产生新的字符串数组。...向数组添加的新项目。在添加的时候用。 注意:这个方法会对原数组做出修改。获得的也是新数组。...截取到指定的位置(不包括下标为end的元素)。如果没有指定,则指的是截取到最后一个元素。注意:end要大于start,否则截取不到元素。 注意:该方法是返回的一个新的数组,原数组没有做任何改变。

    2.4K20

    4种在JavaScript中交换变量的方法

    在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。在本文中,您将了解大约4种交换方式(2种使用额外的内存,而2种不使用额外的内存)。...让我们使用解构分配交换变量 a和 b: let a = 1;let b = 2; [a, b] = [b, a]; a; // => 2b; // => 1 第一步,在解构的右侧,创建一个临时数组[b,...提醒一下,这是 XOR 真值表: a b a ^ b 0 0 0 1 1 0 0 1 1 1 0 1 在JavaScript中,按位 XOR 运算符 n1 ^ n2 对n1和n2数字的每一位执行 XOR...5、结论 JavaScript提供了很多交换变量的好方法,无论有没有额外的内存。 我建议使用的第一种方法通过应用解构赋值[a,b] = [b,a]交换变量。这是一种简短而富有表现力的方法。...第二种方法使用临时变量。这是代替(applying)解构赋值方法的不错选择。 第三种方法,使用加减法,不使用其他变量或内存。但是,该方法仅限于交换整数。

    4.6K30

    移除jQuery好像也没那么难

    为了节省大家的时间,我编写了这个实用的参考指南,列出了一些最常见的 jQuery 模式及其在 JavaScript 中的等价物。我们将涵盖如何从这些概念和函数迁移到纯 JavaScript。...在 JavaScript 中,$() 或 jQuery() 的等价物是 querySelector() 或 querySelectorAll(),它们同样可以使用 CSS 选择器。...与 jQuery 可以直接对选择的所有元素调用方法不同,在纯 JavaScript 中,你需要使用 NodeList.forEach() 遍历这个 NodeList。...要在没有 jQuery 的情况下实现类似功能,你可以在将元素添加到 DOM 时附加事件处理程序。...// jQuery $(document).ready(function() { /* 在 DOM 完全加载后执行操作 */ }); // JavaScript // 定义一个方便的方法并使用它

    2.5K10

    在 JavaScript 中,对象是拥有属性和方法的数据

    JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。 在 JavaScript 中,对象是拥有属性和方法的数据。...字符串对象: var txt = "Hello"; 属性: txt.length=5 方法: txt.indexOf() txt.replace() txt.search() 在面向对象的语言中,使用...JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。...全局变量:在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。全局变量会在页面关闭后被删除。...向未声明的 JavaScript 变量来分配值:如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明,即使它在函数内执行。

    6.1K10

    jQuery原理

    不被修改, 所以需要接受一个正确的undefined jQuery中的extend方法 jQuery中有众多的方法,但这么多的方法不可能都是一一用每一个函数来封装,因此应用到了extend继承的方法来对这些方法进行管理...:kjQuery相当于父类,extend相当于子类,父类调用了子类中的方法 isTest相当于obj,在kjQuery这个类中找到extend方法中key为isTest的值, 而在...> jQuery中真伪数组的转换 为了避免浏览器的兼容性,写出了两种完美兼容的互转换方法 javascript"> $(function...bj里面有值,则会将arr数组里的添加在obj的后面 console.log(obj); //伪数组转真数组: //slice是截取字符串的方法 //apply和...call方法是往第一个参数对象里添加元素 var arr=[].slice.call(res); console.log(arr); }); jQuery

    86810

    Node中的模块是什么?

    Node中的模块系统 使用Node编写应用程序主要就是在使用: EcmaScript语言 和浏览器一样,在Node中没有Bom和Dom 核心模块 文件操作的fs http服务操作的http url路径操作模块...)【在node中没有全局作用域,它是文件模块作用域】 通信规则 加载require 导出exports CommonJS模块规范 在Node中的JavaScript还有一个重要的概念,模块系统。...中的each 和 原生JavaScript方法forEach的区别: 提供源头: 原生js是es5提供的(不兼容IE8), jQuery的each是jQuery第三方库提供的(如果要使用需要用...2以下的版本也就是1.版本),它的each方法主要用来遍历jQuery实例对象(伪数组),同时也可以做低版本forEach的替代品,jQuery的实例对象不能使用forEach方法,如果想要使用必须转为数组...([].slice.call(jQuery实例对象))才能使用 模块中导出多个成员和导出单个成员 301和302的区别: 301永久重定向,浏览器会记住 302临时重定向 exports和module.exports

    42810
    领券