• 关于js中splice方法返回的结果


    一、前言

      刚刚在使用splice()方法,发现这个方法返回的是删除后的数组元素,如果要获取删除指定元素后的数组,直接调用原来的数组即可!因为splice()会改变原来数组!之前对splice()方法一直不熟悉,写个随笔记录一下。

    官方说明:

    二、定义和用法

      splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目

      注意:该方法会改变原始数组。

    三、语法

      arrayObject.splice(index,howmany,item1,.....,itemX)

     

    参数描述
    index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
    howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    item1...itemX 可选。向数组添加的新项目。

     

      例子1:

    var arr = [1,2,3,4]
    console.log(arr.splice(1,1));//[2]
    console.log(arr);//[1,3,4]
      结果:
      [2]   [1,3,4]
     
          解析:splice()删除指定元素后返回被删除的元素。而该方法作用在arr数组上,所以原来的数组也被改变,变成[1,3,4].我们可以根据需要选择相应的结果.
     
    最后附上和splice相似的方法:slice

    四、slice

       定义:slice() 方法可从已有的数组中返回选定的元素。
       使用方法:  arr.slice(start,end);   //start为初始位置,end为结尾位置,返回的结果是从start到end(不取)的新数组
              arr.slice(start);     //选取从start开始直至最后一个元素
        
       例子:
    var arr1 = [1,2,3,4];
    console.log(arr1.slice(1)); //[2, 3, 4]
    console.log(arr1.slice(1,2));//[2]
    console.log(arr1);//[1,2,3,4]
    

       解析: arr1.slice(1)没有指定结尾位置,则默认选取至最后一个元素(注:最后一个元素会被选)

           arr1.slice(1,2) 指定从1开始选取,到2结束,但是不选择2

         和splice()不一样,slice()执行后原数组并未发生改变

     如果想要查看更多字符串操作方法,可以看这篇
  • 相关阅读:

    二分查找法
    LeetCode-Two Sum III
    LeetCode-Add and Search Word
    LeetCode-Longest Substring with At Least K Repeating Characters
    LeetCode-Rearrange String k Distance Apart
    LeetCode-Game of Life
    LeetCode-Walls and Gates
    LeetCode-Water and Jug Problem
    LeetCode-Inorder Successor in BST
  • 原文地址:https://www.cnblogs.com/soyxiaobi/p/9257609.html
Copyright © 2020-2023  润新知