zoukankan      html  css  js  c++  java
  • 关于数组和字符串的一些处理方法的记录

    array:

    slice(),splice(),

    arr.slice(start,end),返回一个包括起始位置和结束位置之前的项新数组,

    例:arr = [1,2,3,4,5,6,7];

    arr.slice(2,4);//返回[3,4];

    若只有一个参数则返回从该位置开始到整个原数组结束的内容,

    arr.slice(2);//[2,3,4,5,6,7];

    特殊情况:参数为负数,用该参数加上数组长度来重新确定相应位置,若加上数组长度值仍未负,则等同于0进行处理,例:

    arr.slice(-9);//[1,2,3,4,5,6,7];

    arr.slice(-9,3);//[1,2,3];

    arr.slice(-3,-2);//相当于arr.slice(4,5),返回[5];

    若start值大于end值,则返回空数组。

    splice(),可进行删除,插入,替换的操作,

    1,指定两个参数,执行删除操作,参数一为要删除的第一项位置,第二个参数为要删除的项数,返回删除的部分,例:

    arr.splice(2,3);//即从数组第二项(数组项数从零开始计数)开始,删掉三项,即返回[3,4,5];执行此操作后,arr=[1,2,6,7]

    特殊情况,若第一个参数为负数,处理方法也是给该参数加上该数组长度,重新计算位置再进行操作,若参数二为0或者负数,相当于删除零项,即返回空数组,原数组不会变化;

    2,指定三个参数,分别为起始位置,0(要删除的项数),要插入的项,第三个参数可以包括很多项,此操作会改变原数组。例:

    arr.splice(2,0,"一",“二”,“三”);//此操作直接返回空数组,但操作结束后arr=[1,2,一,二,三,3,4,5,6,7];

    特殊情况:起始位置若为负值,则同上

    3,若在同一位置即删除又插入,则相当于替换,也就是相对于插入操作,第二个参数值不为零,例:

    arr.splice(2,2,"yi","er","san");//从数组第2项开始删除两项,并插入第三个参数所包含的三项,也即用“yi”“er”"san",替换掉原数组中的3,4,此操作直接返回包含被删除的项的数组,即[3,4],此操作后,原数组变为[1,2,"yi","er","san",5,6,7];

    总结:splice()操作会返回被删除的项,若无被删除项则返回空数组,执行此操作会直接改变原数组

    与上述方法比较相似的是字符串的操作方法split()

    语法为:stringObject.split(separator,howmany)

    将字符串用某种正则表达式分割成数组。
  • 相关阅读:
    大话字符串逆序
    Class文件结构全面解析(上)
    怎么把CAT客户端的RootMessageId记录到每条日志中?
    阅读JDK源码后,我有了优化它的冲动!
    CAT客户端如何从Apollo中读取配置?
    Sublime Text 3许可证
    通俗易懂地给女朋友讲:线程池的内部原理
    五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
    分布式监控CAT服务端的本地部署
    如何优雅的设置线程池的大小?
  • 原文地址:https://www.cnblogs.com/lesliecn/p/10010037.html
Copyright © 2011-2022 走看看