zoukankan      html  css  js  c++  java
  • javascript中的slice()方法

    JavaScript中的Array对象提供了一个slice()方法,用于从已有的数组中返回选定的元素。

    arrayObject.slice(start,end)
    参数描述
    start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    该函数会返回一个新的数组(非变异方法,不改变源数组),包含从start到end(不包含该元素)的arrayObject中的元素。因此要特别注意,如果是想要删除数组中的一段元素,应该使用Array.splice()方法。

    var arr = ['yanggb', 'yanggb1', 'yanggb2'];
    
    console.log(arr.slice(1)); // ['yanggb1', 'yanggb2']
    console.log(arr.slice(2)); // ['yanggb2']
    console.log(arr.slice(1, 2)); // ['yanggb1']
    
    console.log(arr.slice(-1)); // ['yanggb2'] console.log(arr.slice(-2)); // ['yanggb1', 'yanggb2'] console.log(arr.slice(-2, -1)); // ['yanggb1'] console.log(arr); // ['yanggb', 'yanggb1', 'yanggb2']

    注意到了吗,在多次对源数组进行slice()操作,在最后源数组并没有发生任何的改变。

    另外,JavaScript中的String对象也提供了slice()方法,用于提取字符串的某个部分,并以新的字符串返回被提取的部分,使用起来和Array对象的slice()方法大同小异。

    stringObject.slice(start,end)
    参数描述
    start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
    end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

    此函数会返回一个新的字符串,包括字符串stringObject从start开始(包括start)到end结束(不包括end)为止的所有字符。

    String对象的方法slice()、substring()和substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而substr() 则用字符位置和长度来指定子串。

    var str = 'yanggb';
    
    console.log(str.slice(1)); // 'anggb'
    console.log(str.slice(2)); // 'nggb'
    console.log(str.slice(1, 2)); // 'a'
    
    console.log(str.slice(-1)); // 'b'
    console.log(str.slice(-2)); // 'g'
    console.log(str.slice(-2, -1)); // 'g'
    
    console.log(str); // 'yanggb'

    同样注意的是,在多次对源字符串进行slice()操作,在最后源字符串并没有发生任何的改变。这也与String对象本身就是被设计为不可变性的特性有一点关系。

    "那个总是对你和颜悦色的人,也可能是伺机而动的坏人。"

  • 相关阅读:
    【scrapy windows环境下安装遇到的问题】
    关于python中try,except,else,finaly的使用说明:
    【转】简单介绍Python中的try和finally和with方法
    [python]请利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution:
    利用闭包返回一个计数器函数,每次调用它返回递增整数:
    把“数字的字符串”转换成“整数”时遇到的小麻烦
    图像识别sift+bow+svm
    自己重装系统原来如此简单
    OLTPBenchmark教程以及workload自动生成
    windows系统快速安装pytorch的详细教程
  • 原文地址:https://www.cnblogs.com/yanggb/p/12683270.html
Copyright © 2011-2022 走看看