JavaScript中的slice,splice,substr,substring,split的区别
万恶的输入法,在sublime中会显示出繁体字,各位看官见谅。
1.slice()方法:该方法在数组和string对象中都拥有。
var a = [1,2,3,4,5,6];
var s = 'this is a string';
console.log(a.slice(1,3));//結果為 [2,3];
console.log(a.slice(-1);//結果為6;
console.log(s.slice(1,3));//結果為 hi;
console.log(s);//結果為 this is a string;
//obj.slice(i,j);其中i為必須,其為從何處開始截取。如果為負數的話,那麼將會從尾數開始截取,-1指倒數一個,-2表示倒數第二個
//同時j為選填項,是數組片段結束處的數組下標。如果為負數,則從尾部算起。
console.log(a);//[1,2,3,4,5,6],注意該方法並不會修改數組,而是返回一個子數組。
2.splice()方法:非常强大的一个数组删改方法。与slice相比,其会改变数组本身
var a = [1,2,3,4,5,6];
console.log(a.splice(2));//[3, 4, 5, 6]
//splice(i,j,item)其中i為必須,其為從何處開始截取。如果為負數的話,那麼將會從尾數開始截取
//其中j必填項,為要截取的項目數量,為0的話,那麼其不會對數組進行刪改,
var b = [2,6,8,5,7];
console.log(b.splice(2,0,5,6,7));// []
console.log(b);//[2, 6, 5, 6, 7, 8, 5, 7]
//splice()會返回被刪除的項目;
3.substr()方法
var str = 'this is a string';
console.log(str.substr(2,3));//is
console.log(str);//this is a string
//substr()用於返回一個從指定位置開始的指定長度的子字符串
//substr(i,j);i必須,所需的子字符串的起始位置,字符串中的第一個字符串。
//j為返回字符串中包含的字符個數,注意:如果i為負數,那麼i=str.length+i;如果j為負數,則返回一個空字符串。
//其不會改變字符串本身;
由于ECMAscript中并没有将这个进行标准化,所以不推荐使用这个
4.substring()
var str = 'abcdefg';
//其返回一個包含i,不包含end的子串
//substring(i,j) i為必須,如果i=j,則返回一個空串,
console.log(str.substring(5,1));//bcde
//如果i<j,那麼在提取子串之前會先交換這兩個參數,
console.log(str);//abcdefg
//如上面可見,substring不會對字符串進行刪改
console.log(str.substring(-4));//abcdefg
console.log(str.substring(3,-1));//abc
//如果i或j為負數,那麼它將被替換成0
5.split()方法:
var str = 'ab c e f g';
console.log(str.split('',));//["a", "b", " "]
console.log(str);//ab c e f g
console.log(str.split(' '));//["ab", "c", "e", "f", "g"]
console.log(str.split(''));//["a", "b", " ", "c", " ", "e", " ", "f", " ", "g"]
console.log(str.split('',));//["a", "b", " "]
JavaScript中的slice,splice,substr,substring,split的区别的更多相关文章
- slice,splice,substr,substring函数的区别
slice: 语法:array.slice(startIndex,endIndex); 参数: startIndex:必须,规定从何处开始选取,如果为负则从尾部开始计算 : endIndex:可选,规 ...
- JavaScript 中定义变量时有无var声明的区别
关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...
- JavaScript中querySelector()和getElementById()(getXXXByXX)的区别
在日常开发中,使用JavaScript获取元素的时候,最常用的方法就是document.getElementById(getXXXByXX)方法.但是最近发现有很多地方使用的是querySelecto ...
- javascript中的slice()方法
JavaScript中的Array对象提供了一个slice()方法,用于从已有的数组中返回选定的元素. arrayObject.slice(start, end) 参数说明 start 必需(否则没有 ...
- JavaScript中的 函数splice() 的使用。
大二接触JavaScript初期,学习函数中有一道题: 定义一个2个参数的函数.第1个参数是一个数组,第2个参数是需要删除的元素.函数功能,在第1个实参数组中查找第2个实参提供的值,找到则删除该元素( ...
- 巧用Javascript中的slice()
slice()是Javascript中Array的一个方法,定义是这样的. arrayObject.slice(start,end)作用是从原数组中从start到end位置截取出一个新的数组,返回值是 ...
- JavaScript中instanceof与typeof运算符的用法及区别详细解析
JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typ ...
- javaScript中的return,break,continue的区别
导语: javaScript中有三种方法可以跳出循环或者终止循环.分别为break.return.continue. 正文: 一.break break 会使得整个程序终止执行或者包含了最内层的循环或 ...
- JavaScript中的三种弹出框的区别与使用
JavaScript中有三种原生的弹出框,分别是alert.confirm.prompt.分别表示弹出框.确认框.信息框. 以下是示例代码: <!DOCTYPE html> <htm ...
随机推荐
- 在redis中使用lua脚本让你的灵活性提高5个逼格
在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...
- python性能检测工具整理
python 运行后出现core dump产生core.**文件,可通过gdb来调试 Using GDB with a core dump having found build/python/core ...
- Linux文件查找.md
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...
- CentOS上 Mono 3.2.8运行ASP.NET MVC4经验
周一到周三,折腾了两天半的时间,经历几次周折,在小蝶惊鸿的鼎力帮助下,终于在Mono 3.2.8上运行成功MVC4.在此总结经验如下: 系统平台的版本: CentOS 6.5 Mono 3.2.8 J ...
- ABP源码分析二十七:ABP.Entity Framework
IRepository:接口定义了Repository常见的方法 AbpRepositoryBase:实现了IRepository接口的常见方法 EfRepositoryBase:实现了AbpRepo ...
- linux笔记
1 动态查看日志 tail -f filename tail -1000f filename 2 解压当前目录内容为xxx.zip zip -r xxx.zip ./* 3 查看内存使用情况 fre ...
- 应用OpenMP的一个简单的设计模式
小喵的唠叨话:最近很久没写博客了,一是因为之前写的LSoftmax后馈一直没有成功,所以在等作者的源码.二是最近没什么想写的东西.前两天,在预处理图片的时候,发现处理200w张图片,跑了一晚上也才处理 ...
- IE开发人员工具之实用功能讲解
F12快捷键调出开发人员工具 一.JS的内容格式化 1.内容较乱的js脚本: 2.勾选下面两项即可进行格式化脚本:自动换行与格式化JS 3.调理清楚的脚本 二:清空控制台 1.右键->清空 2. ...
- Android动画效果之Property Animation进阶(属性动画)
前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...
- seajs3.0.0源码分析记录
自己边读变加了一些注释,理解了一下seajs3.0.0工作的流程.正则没有一个个去理解,插件模块也没看, 以后有时间了可以补充完整~ 事件系统中事件队列的获取&定义方法 var list = ...