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 ...
随机推荐
- 死去活来,而不变质:Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?
写在前面 阅读目录: 设计误区 数据库已死 枚举映射 关联映射 后记 在上一篇<一缕阳光:DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?>博文中, ...
- 到爱尔兰敲代码 / Come, Coding in Ireland
这是我在都柏林的第四个月,该办的证也都办完了,该安定下来的也安定下来了,所以也简单介绍下到爱尔兰做IT的相关过程和政策. 如果有兴趣在英语环境工作的话,我也可以帮忙推荐或者找找. 去年15年1月正好开 ...
- ABP框架搭建项目系列教程基础版完结篇
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...
- ABP源码分析三十一:ABP.AutoMapper
这个模块封装了Automapper,使其更易于使用. 下图描述了改模块涉及的所有类之间的关系. AutoMapAttribute,AutoMapFromAttribute和AutoMapToAttri ...
- 牛顿插值法——用Python进行数值计算
拉格朗日插值法的最大毛病就是每次引入一个新的插值节点,基函数都要发生变化,这在一些实际生产环境中是不合适的,有时候会不断的有新的测量数据加入插值节点集, 因此,通过寻找n个插值节点构造的的插值函数与n ...
- 解析大型.NET ERP系统数据访问 对象关系映射框架LLBL Gen Pro
LLBL Gen Pro是一个为.NET开发人员设计的的对象关系映射(ORM)框架,与NHibernate,Entity Framework等框架一样,通过实体与数据表的映射,实现关系数据库持久化. ...
- Python标准模块--built-ins函数
1.Python内置函数 2.Python内置函数举例 2.1 数学运算 abs,计算绝对值: >>> abs(-1) 1 >>> abs(3) 3 round,四 ...
- Android数据加密之Aes加密
前言: 项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密,今天我们来认识一下aes加密. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes ...
- 读书笔记--SQL必知必会13--创建高级联结
13.1 使用表别名 SQL可以对列名.计算字段和表名起别名. 缩短SQL语句 允许在一条SELECT语句中多次使用相同的表. 注意:表别名只在查询执行中使用,不返回到客户端. MariaDB [sq ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...