精华内容
下载资源
问答
  • js数组截取方式splice()和slice()方法

    千次阅读 2021-02-04 10:36:41
    js数组截取方式splice()和slice()方法 1.splice() splice() 方法可以添加元素、删除元素,也可以截取数组片段。删除元素时,将返回被删除的数组片段,因此可以使用 splice() 方法截取数组片段 // 传递一个参数,则该...

    js数组截取方式splice()和slice()方法

    1.splice()
    splice() 方法可以添加元素、删除元素,也可以截取数组片段。删除元素时,将返回被删除的数组片段,因此可以使用 splice() 方法截取数组片段

    // 传递一个参数,则该方法仅执行删除操作,参数值指定删除元素的起始下标(包含该下标元素)
    //splice() 方法将删除后面所有元素
    var a = [1,2,3,4,5];  //定义数组
    var b = a.splice(2);  //从第三个元素开始执行删除
    console.log(b);  //被删除的子数组是[1,2]
    
    // 传递两个参数,则第 2 个参数值表示要删除元素的个数
    // 特别注意:如果不执行删除操作,第 2 个参数值应该设置为 0,但是不能够空缺,否则该方法无效
    var a = [1,2,3,4,5];  //定义数组
    var b = a.splice(2,2);  //从第三个元素开始执行删除,删除元素个数为2个
    console.log(b);  //被删除的子数组是[1,2,5]
    
    var b = a.splice(2,0);  //不执行删除操作
    console.log(b.constructor == Array);  //返回true,说明是一个空数组
    
    // 传递三个或多个参数,则第 3 个以及后面所有参数都被视为插入的元素
    var a = [1,2,3,4,5];  //定义数组
    var b = a.splice(2,2,6,7);  
    //从第三个元素开始执行删除,删除元素个数为2个,第三个及以后的参数作为需要插入的元素
    console.log(a);  //返回[1,2,6,7,5]
    
    // 特别注意1
    // 当第 1 个参数值大于 数组length 属性值时,被视为在数组尾部执行操作,因此删除无效3
    // 但是可以在尾部插入多个指定元素
    var a = [1,2,3,4,5];  //定义数组
    var b = a.splice(6,2,2,3);  //起始值大于length属性值
    console.log(a);  //返回[1,2,3,4,5,2,3]
    
    // 特别注意2
    // 如果第 1 个参数为负值,则按绝对值从数组右侧开始向左侧定位。如果第 2 个参数为负值,则被视为 0
    var a = [1,2,3,4,5];   //定义数组
    var b = a.splice(-2,-2,6,7);  //第一、二个参数都为负值
    console.log(a);  //返回[1,2,3,6,7,4,5]
    

    2.slice()
    slice() 方法与 splice() 方法功能相近,但是它仅能够截取数组中指定区段的元素,并返回这个子数组。该方法包含两个参数,分别指定截取子数组的起始和结束位置的下标

    var a = [1,2,3,4,5];  //定义数组
    var b = a.slice(2,4);  //截取第三个元素到第五个元素前的所有元素
    console.log(b);  //返回[3,4,5]
    
    // 特别注意1
    // 第 1 个参数指定起始下标位置,包括该值指定的元素;第 2 个参数指定结束位置,不包括指定的元素
    
    // 特别注意2
    // 方法的参数可以自由设置。如果不传递参数,则不会执行任何操作
    // 如果仅指定一个参数,则表示从该参数值指定的下标位置开始,截取到数组的尾部所有元素
    var a = [1,2,3,4,5];  //定义数组
    var b = a.slice(2);  //截取数组中第三个元素,以及后面所有元素
    console.log(b);  //返回[3,4,5]
    
    // 特别注意3
    // 当参数为负值时,表示按从右到左的顺序进行定位,即倒数定位法,而不再按正数顺序定位(从左到右)
    // 但取值顺序依然是从左到右
    var a = [1,2,3,4,5];  //定义数组
    var b = a.slice(-4,-2);  //截取倒数第四个元素到倒数第二个元素前的元素
    console.log(b);   //返回[2,3]
    
    // 特别注意4
    // 如果起始下标值大于或等于结束下标值,将不执行任何操作
    var a = [1,2,3,4,5];  //定义数组
    var b = a.slice(-2,-4);  //截取倒数第二个元素到倒数第四个元素前的元素
    console.log(b);  //返回空集
    // 上面示例说明数组在截取时,始终是按从左到右的顺序执行操作,而不会是从右到左的反向操作。
    
    // 特别注意5
    // 当起始参数值大于或等于 length 属性值时,将不会执行任何操作,返回空数组
    // 如果第二个参数值大于 length 属性值时,将被视为 length属性值
    var a = [1,2,3,4,5];  //定义数组
    var b = a.slice(3,10);  //截取第四个元素,直到后面所有元素
    console.log(b);  //返回[4,5]
    

    slice() 方法将返回数组的一部分(子数组),但不会修改原数组。而 splice() 方法是在原数组基础上进行截取。如果希望在原数组基础上进行截取操作,而不是截取为新的数组,这时候就只能够使用 splice() 方法

    展开全文
  • forEach()方法 , 帮我们遍历数组 支持一个函数 作为参数(回调函数), 这个回调函数 会帮我们 处理遍历到的 每一个数组元素 回调函数里边 支持三个参数 第一个 遍历到的元素(item) ,第二个参数(遍历元素对应的下标...

    forEach()方法 , 帮我们遍历数组(和for循环一样)

           arr.forEach(function (item, index, arr) {
                这里需要写你对数组元素的操作
              })
    
    1. 支持一个函数 作为参数(回调函数), 这个回调函数 会帮我们 处理遍历到的 每一个数组元素
    2. 回调函数里边 支持三个参数 第一个 遍历到的元素(item) ,第二个参数(遍历元素对应的下标index),第三个参数(你遍历的数组)
    3. 第一个参数 必须写,其余两个参数可以省略

    reverse() 反转数组

           var arr1 = [2, 4, 6, 8];
           var result1 = arr1.reverse(); // 修改了原数组
           result1[0]=9;
           // arr1 和 result1 指向同一个堆内存(因为是直接赋值,没有遍历拷贝)
           console.log(arr1); // [9, 6, 4, 2]
           console.log(result1); //  [9, 6, 4, 2]
    

    slice() 截取数组

    arr.slice(开始的索引,结束的索引);//不包括结束索引的值, 并不会修改原数组
    
    var cloneArr2 = arr2.slice(0); //结束索引省略的话 相当于截取到最后
    // 通过这种形式拿到的 副本 ,对其做修改 并不会影响原数组
    

    splice() 删除或者替换数组当中的元素 修改原数组

          // 第一个参数 从哪个索引开始替换 ,第二个参数你要替换几个元素, 后边的参数 用谁来替换
           arr.splice(1, 2, 10, 11);
           arr.splice(3, 1); // 后边的参数不写  相当于删除操作
    

    indexOf()和lastIndexOf() 返回元素在数组中的 索引

           var arr4 = ['a', 'b', 'b', 'd', 'e'];
           var index1 = arr4.indexOf('b'); // 1  从前往后匹配
           var index2 = arr4.lastIndexOf('b'); // 2  从后往前匹配
           var index3 = arr4.indexOf('f'); // 匹配不到 返回 -1;
    
    展开全文
  • concat方法创建一个新的数组,它由被调用的对象的元素组成,每个参数的顺序依次是该参数的元素(如果参数是数组)或参数本身(如果参数不是数组)。它不会递归到嵌套数组参数。 注意:数组/值在连接时保持不变。...

    concat

    • concat() 连接两个或多个数组 不影响原数组 返回一个 新数组
    • concat方法创建一个新的数组,它由被调用的对象中的元素组成,每个参数的顺序依次是该参数的元素(如果参数是数组)或参数本身(如果参数不是数组)。它不会递归到嵌套数组参数中。
    • 注意:数组/值在连接时保持不变。此外,对于新数组的任何操作(仅当元素不是对象引用时)都不会对原始数组产生影响,反之亦然。
     // concat() 连接两个或多个数组 不影响原数组 返回一个 新数组
            var arr2 = [1,2,3,4,5];
            var arr3 = ['a','b','c','d','e'];
            var arr4 = [9,8,7,6,10];
            console.log( arr2.concat(arr3)); 
            var arr5 =arr2.concat(arr3,arr4)
            console.log(arr5);
    

    返回结果
    在这里插入图片描述

    slice 数组截取

    • slice()数组截取 返回的是被截取的新数组
            var arr2 = [1,2,3,4,5];
            var arr3 = ['a','b','c','d','e'];
            var arr4 = [9,8,7,6,10];
    var arr6 = arr3.slice(1,4);// 截取索引号为1-4的元素 不包含第四个索引号
            console.log(arr6); //  b c d
    

    在这里插入图片描述

    splice

    • splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
    • 如果添加进数组的元素个数不等于被删除的元素个数,数组的长度会发生相应的改变
            var arr2 = [1,2,3,4,5];
            var arr3 = ['a','b','c','d','e'];
            var arr4 = [9,8,7,6,10];
      //splice  数组删除 (从第几个 开始 要删到第几个)返回被删除的新数组  这个会影响原数组
      // 在插入一个或多个值
          var arr7 = arr4.splice(2,1, '88' ,'99') // 从第二个开始删除1个 在添加 88 99到新数组
          console.log(arr4); //[9, 8, '88', '99',  6,   10]
    

    在这里插入图片描述

    展开全文
  • 注意:返回的数组包含start索引处的元素,不包含end索引处的元素,且此方法不改变原数组。 举例说明: //newArr的元素可以看成索引 var newArr = [0,1,2,3,4,5,6,7] console.log(newArr.slice(0,3)) //输

    slice()

    slice方法有两个参数,slice(start,end),这两个参数为正数时可以看做是索引;为负数时,从数组的尾部开始数起,-1 指最后一个元素,-2 指倒数第二个元素…当只有一个参数时,返回的是该参数之后的所有元素。
    注意:返回的数组包含start索引处的元素不包含end索引处的元素,且此方法不改变原数组
    举例说明:

    //newArr的元素可以看成索引
    var newArr = [0,1,2,3,4,5,6,7]
    console.log(newArr.slice(0,3))  //输出[0,1,2]
    console.log(newArr.slice(-3,-1))  //输出[5,6]
    console.log(newArr.slice(0))  //输出[0,1,2,3,4,5,6,7]
    console.log(newArr)  //输出[0,1,2,3,4,5,6,7]
    

    splice()

    splice方法共有3个参数,分别是splice(开始的索引,数量,添加的元素),开始的索引是必须参数,后两个可选。
    注意:三个参数不能为负数,且此方法会改变原来数组
    举例说明:

    var newArr = [0,1,2,3,4,5,6,7]
    console.log(newArr.splice(0,3))  //输出[0,1,2]
    console.log(newArr)  //输出[3,4,5,6,7]
    console.log(newArr.splice(0,1,8,9))  //输出[3]
    console.log(newArr)  //输出[8,9,4,5,6,7]
    console.log(newArr.splice(0))  //输出[8,9,4,5,6,7]
    
    展开全文
  • 项目难免遇到需要删除改变数组的方法,去重,删除不要的数据等 问题描述: 但是splice方法会删除掉数据改变原数组,返回的是改变之后的数组,即使你是赋值的还是会影响到原数组的数据 GoodsInfos[index].list....
  • js数组splice函数

    2019-09-30 04:22:04
    一直没搞懂数组splice函数,今天稍微测试了一下,了解了它的功能,在这里记录一下 1.测试 测试①var a = [1,2,3]; console.info(a.splice(1,1)); console.info(a);结果 [2] [1, 3] 测试② var a = [1,...
  • 改了几个bug,然后也没什么其他事情,就想着封装个方法,实现和数组splice同样的功能。 相信开发过程,经常会用到有关数组的方法,找到最适合场景的方法,不但可以提高我们的开发效率,还让我们的代码既干净又...
  • 一、截取数组 1.Array.splice(index,howmany,item1,…,itemX) 用于添加或删除或替换数组中的元素。该方法会改变原始数组。 参数: index 必需。规定从何处添加/删除元素。该参数是被插队和(或)删除的数组元素的...
  • js截取数组slice() 和 splice() 的用法

    千次阅读 2020-03-30 18:48:40
    一句话先提前概括: slice(start,end) 从哪到哪开始删 splice(strt,end,index...---该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回 参数: 1.截取开始的位置的索引,包含开始索引 2.截取结...
  • 选择数组的一部分,并返回新数组。 slice()方法选择从给定的start参数开始的元素,并在给定的end参数处结束,但不包括。 注:slice()方法不会改变原始数组。 start 可选。整数,指定从哪里开始选择(第一...
  •  slice是指定在一个数组中的元素创建一个新的数组,即原数组不会变 var color = new Array('red','blue','yellow','black'); var color2 = color.slice(1,2); alert(color); //输出 red,blue,yellow,black alert...
  • 数组.splice(参数1,参数2,参数3…参数n) splice会修改原数组 1个参数:从这个参数的下标截取到最后一个值,存储为一个新数组返回 2个参数:第1个参数:起始下标第2个参数:截取的个数 3个下标:第1个参数是起始...
  • splice改变数组的问题

    2021-03-19 18:06:33
    移除数组 arr 的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回 我的代码如下: let arr=[1,2,3,4,5,4,3,3,3,3,3,3,3,4]; let item = 3; function removeWithoutCopy(arr,item) { arr...
  • splice() 主要是删除数组中某个值 this.data.imagelist.splice(e.currentTarget.dataset...slice() 这个主要是拿来截取数组中某些值的,示例就是截取前六个 that.setData({ DailyQuotationHomeList: res.data.data
  • 数组方法:splice只能操作数组; 字符串,数组接可 :slice可操作数组和字符串 1.substr() substr() 方法可在字符串抽取从start下标开始的指定数目的字符。 语法 stringObject.substr(start,length) 参数 ...
  • slice定义和用法slice() 方法可从已有的数组中返回选定的元素。语法arrayObject.slice(start,end)参数描述start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一...
  • 这些被包裹过的方法包括:push() pop()shift() unshift() splice() sort() reverse() 以上七个数组都会改变原数组,下面来分别讲解它们的区别:var list = [3,4,5,6]1. push() 向数组的尾部添加若干元素,并返回数组...
  • eachSpliceNum: 每次截取的元素个数; arr: 需要处理的数组; */ function spliceArr(spliceNum, eachSpliceNum, arr){ let arrBox = []; let newArr = []; let cup = []; let flag = false; for(;;){...
  • js数组中splice和slice

    2021-08-06 15:03:49
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>... * 可以用来从数组提取指定元素 * 该方法不会改变原数组,而是将截取到的元素封装到
  • 返回一个索引和另一个索引之间的数据(不改变原数组),slice(start,end)有两个参数(start必需,end选填),都是索引,返回值不包括end 用法和截取字符串一样 https://blog.csdn.net/qq_43627981/article/details/99621402...
  • 字符串和数组截取

    2019-07-24 15:00:05
    一、数组截取 slice [slaɪs] 翻译 :切;割;部分 作用:从已有的数组中返回选定的元素 语法:arrayObject.slice(start,end); 参数: 1,start必选,end可选, 2, start可以为负数,-1代表chong从最后一位开始算...
  • 数组函数学习仍未完成,同志们仍要继续努力啊,为了考虑到学习难度与深入,可能有些朋友接受不那么快,每一节课程就讲两到三个数组处理函数,以便让大家都能消化吸收。这一讲又会讲到回调函数的使用过程,如果对回调...
  • 截取数组中指定内容

    千次阅读 2017-12-20 09:25:49
    /** * @parm arr 数组 val 要截取的指定内容 * */ function arrIntercept(arr,val){ var index=arr.indexOf(val) if(index>-1){ arr.
  • 最近比较忙,好久没来了,今天跟大家分享下数组中splice和slice的区别 首先splice是什么那? splice()方法是用于插入、删除或者是替换数组中的元素。 用法 splice(index,howmany,[item1,item2...]) 表示在index...
  • JavaScript splice() 方法

    2020-12-24 18:22:01
    实例例子 1在本例,我们将创建一个新数组,并向其添加一个元素:var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"document.write(arr...
  • 直接对原数组进行处理,返回一个数组,包含从原数组中删除的项。 1、删除任意位置项 ------ 传入两个参数,第二个参数不为0; 2、从任意位置添加新项 ----- 传入三个及以上参数,第二个参数为0; 3、替换任意位置项 ...
  • 有三个方法经常会混淆,但是了解它后你...splice()函数用于从当前数组中移除一部分连续的元素。如有必要,还可以在所移除元素的位置上插入一个或多个新的元素。该函数以数组形式返回从当前数组中被移除的元素。 该...
  • JS数组对象的splice()和slice()的区别

    千次阅读 2017-05-25 17:43:29
    splice()和slice()   Hello,everybody~ 今天来个小细节的东西,js大家都不...数组对象有两个比较相似的方法——splicesplice,看着很像,就是多了一个p,但是用法却相当不一样。 1、splice() 定义 用于插
  • 如果数组为空则返回undefine var a = [1,2,3,4,5]; a.pop();//a:[1, 2, 3, 4] a.pop();//a:[1, 2, 3] a.pop();//a:[1, 2] shift 删除第一项 删除原数组第一项,并返回删除元素的值;如果数组为空则返回...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,061
精华内容 5,624
关键字:

数组中splice截取