一、字符串
slice(startIndex, endBeforeIndex)
  endBeforeIndex < 0,则 endBeforeIndex 为 负数,第二个参数为字符串长度加上负值,之后如果第二个参数大于第一个参数,则返回空字符串。

substring(startIndex, endBeforeIndex)
  endBeforeIndex < 0,则 第二个参数会变成 0,可以看成会变成第一个参数,startIndex 为第二个参数,如果 startIndex 也为 <= 0,则返回字符串。

subStr(startIndex, length)
  如果第二个参数省略,默认为字符串长度;
  startIndex < 0,则 startIndex 的值可以由字符串长度加上 startIndex;或直接从后面算起。

split(separator, limit)
  将字符串分割成数组,separator 为分割的字符,不会返回数组中;limit 是返回的数组长度,可以省略。返回的数组长度比可匹配的 separator 多 1;
  separator 前后一定会返回一个数组元素,如果 separator 的后面没有元素了,则以空字符串 '' 表示。

二、数组
splice(array.splice(index, howmany, item1,.....,itemX))
  用于添加或删除数组中的元素。注意:这种方法会改变原始数组。
  一个参数执行的是删除,参数一是开始删除下标,删除个数从开始下标开始到结束;
  两个参数执行的是删除,参数一是开始删除下标,参数二是删除的个数;
  三个参数时,如果第二个参数为 0, 则在下标 index 处把第三个参数后面的元素添加到数组中;如果第二个参数不为 0, 则在下标 index 处后开始删除 howmany 个参数,再把 item 各项添加到 index 下标后。

//         012345678
var str = "HTMLCSSJS"; console.log('slice(startIndex, endBeforeIndex)');
console.log( str.slice(1) ); // TMLCSSJS
console.log( str.slice(1, 3) ); // TM
console.log( str.slice(1, -2) ); // str.slice(1, 7); —— TMLCSS
console.log( str.slice(5, -6) ); // str.slice(5, 3); —— 空字符串 console.log('substring(startIndex, endBeforeIndex)');
console.log( str.substring(1) ); // TMLCSSJS
console.log( str.substring(1, 3) ); // TM
console.log( str.substring(1, -2) ); // substring(1, 0) ——> subtring(0, 1); —— H
console.log( str.substring(-1, -2) ); // 空字符串 console.log('substr(startIndex, length)');
console.log( str.substr(1) ); // TMLCSSJS
console.log( str.substr(-1) ); // substr(8); —— S
console.log( str.substr(-2, 4) ); // substr(7, 4); —— JS
console.log( str.substr(-7, 4) ); // substr(2, 4); —— MLCS
console.log('\n'); console.log('str.split(separator, limit)');
console.log( str.split('') ); // (9) ['H', 'T', 'M', 'L', 'C', 'S', 'S', 'J', 'S']
console.log( str.split('', 4) ); // (4) ['H', 'T', 'M', 'L']
console.log( str.split('S') ); // (4) ['HTMLC', '', 'J', '']
console.log('\n'); var arr = [1, 2, 3, 4, 5];
console.log( arr.splice(1, 2) ); // (2) [2, 3] 从下标 1 开始 删除两个元素。返回被删除元素组成的数组
console.log( arr ); // (3) [1, 4, 5]
console.log( arr.splice(2) ); // [5]
console.log( arr ); // (2) [1, 4]
console.log('\n'); var arr2 = [1, 2, 3, 4, 5, 6, 7];
console.log( arr2.splice(1, 0, 123, 'happy') ); // []
console.log( arr2 ); // (9) [1, 123, 'happy', 2, 3, 4, 5, 6, 7]
console.log('\n'); var arr3 = [1, 2, 3, 4, 5, 6, 7];
console.log( arr3.splice(1, 2, 123, 'happy') ); // (2) [2, 3]
console.log( arr3 ); // (9) [1, 123, 'happy', 2, 3, 4, 5, 6, 7]
console.log('\n');

slice-substring-substr-split-splice的更多相关文章

  1. 字符串截取函数slice, substring, substr

    在日常项目需求中,常常会遇到需要截取字符串操作的工作,而ECMAScript为我们提供了原生的截取字符串的函数,而且提供了三个:slice, substring, substr.我们怎么判断在什么时候 ...

  2. 关于js的string的3个函数slice,substring,substr对比

    slice,substring,substr三个函数都是截取字符串,但是对参数的处理有区别 参数处理相似的两个函数式slice和substring slice(start,end)和substring ...

  3. slice,substring,substr的区别

    1.都为正整数//例子数据 var arr = [1,2,3,4,5,6,7], var str = "helloworld!"; //注意这里有个!号也算一位若有空格,空格也算一 ...

  4. 字符串截取slice() substring() substr()的区别?

    获取子字符串 slice()        substr()    substring() 不会修改字符串本身,他们只是返回一个基本类型的字符串值 var str='abcdefghijklmn'; ...

  5. JS字符串截取函数slice(),substring(),substr()的区别

    在JS中,slice().substring().substr()都有截取字符串的作用,那他们有哪些用法上的区别呢?如果你也有疑惑,这篇文章或许能够帮助到你. 一.substring() substr ...

  6. 怎样理解String的slice(), subString(), substr()三个方法

    String.prototype.slice() 是js字符串的切片工具方法, 用于对字符串做'裁剪'操作, 不改变原字符串. 'helloworld'.slice(0,5); // 'hello'; ...

  7. javascript篇-slice(),splice(),split(),substring(),substr()的用法以及区别

    1.slice(),从已经有的数组中返回选定的元素, 使用范围是:Array,string 语法:obj.slice(start,end) 参数: start: 必需.规定从数组(字符串)的哪个ind ...

  8. JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别

     String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 String 对象方法 方法 描述 ...

  9. JavaScript 字符串操作:substring, substr, slice

    在 JavaScript 中,对于字符串的操作有 substring, substr, slice 等好多个内置函数,这里给大家推荐一篇介绍 substring, substr, slice 三者区别 ...

  10. javascript 中slice,substr,substring方法的对比

    实际开发过程中,字符串是一种最常用的一种数据类型,而在程序中对字符串的操作也是十分繁琐,javascript中就提供了很多字符串相关的方法,然而由于方法过多,很多方法功能有交叉,参数有雷同,容易使用混 ...

随机推荐

  1. pip 安装更新卸载 pip/yum换源

    pip安装:sudo apt-get install python3-pip pip更新:sudo pip3 install --upgrade pip pip卸载:sudo apt-get remo ...

  2. 什么是 Future?

    在并发编程中,我们经常用到非阻塞的模型,在之前的多线程的三种实现中,不 管是继承 thread 类还是实现 runnable 接口,都无法保证获取到之前的执行结果. 通过实现 Callback 接口, ...

  3. java-中的代理

    静态代理: 例子: 接口: public interface InterfaceBase { void proxy(); } 接口实现类: public class InterfaceBaseReal ...

  4. js获取元素本身相关值

    Element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置. getClientRects() 方法返回的一组矩形的集合, 即:是与该元素相关的CSS 边框集 ...

  5. 学习DNS(一)

    DNS(Domain Name System,域名系统)因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户方便的访问互联网,而不用去记住能够被机器读取的IP数串.通过主机名,最终得到该主 ...

  6. c语言 相关小知识

    软件运行与内存关系(垃圾数据) 内存是在操作系统的统一管理下使用的! 1.软件在运行前需要向操作系统申请访问存储空间,在内存空闲空间足够时,操作系统将分配一段内存空间并将外存中软件拷贝一份存入该内存空 ...

  7. SQL语句总结---数据库操作

    https://blog.csdn.net/hallomrzhang/article/details/85010014 数据库操作 查看所有数据库 show databases; 1 查看当前使用的数 ...

  8. CentOS安装图形界面以及eclipse的安装

    图形界面的安装,以GNOME为例: 1.首先运行命令:yum grouplist 会显示可安装的包,可以自己选择安装. 2.运行  yum gruopinstall "GNOME" ...

  9. mysql8.0.13本地安装忘记密码解决办法

    之前一直用图形化界面,加上考研期间也没动,竟然把我的数据库密码给忘了,无地自容....... 找了找教程,问题如下: MySQL从低版本向高版本迭代变化的过程,越来越严谨的安全性是其一大特点之一,在版 ...

  10. Java中JSONArray转换成int[]的办法

    今天写项目的时候要做一个MyBatis的带IN子句的删除,于是用一个整型数组来保存待删除数据的ID 从前端将JSON字符串搞过来之后如何将JSONArray转换成int类型数组就成了个问题 下面是我的 ...