这几个的用法你分得清吗?

  

  每每看到这几个,就蒙圈了,这都是啥呀?

  

  既然这么容易混淆,我还是来做个小笔记吧,以便日后查阅:

  

  1.slice(数组)

  用法:array.slice(start,end)

  解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)

  //如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾

  var a=[1,2,3,4,5,6];

  var b=a.slice(2,4);  //[3,4]

  var c=a.slice(3);    //[4,5,6]

  //当只传入一个参数,且是负数时,length会与参数相加,然后返回其后的数组部分。如:   
  var a=[1,2,3,4,5,6];   
  var b=a.slice(-1);  
//[6] 。即-1+6=5,返回索引5及以后的数组部分  

  //当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组   
  var a=[1,2,3,4,5,6];   
  var b=a.slice(-6); //[1,2,3,4,5,6] 。-6+6=0,返回索引0及以后的数组部分  
  var c=a.slice(-8); //[1,2,3,4,5,6]   

  //当传入两个参数一正一负时,length也会先于负数相加后,再截取
  
  var a=[1,2,3,4,5,6];   
  var b=a.slice(2,-3); //[3]
  
  //当传入一个参数,大于length时,将返回一个空数组
  
  var a=[1,2,3,4,5,6];   
  var b=a.slice(6);  //[]

  2.slice(字符串)

  用法:string.slice(start,end)

  解释:slice方法复制string的一部分来构造一个新的字符串,用法与参数匀和数组的slice方法一样;end参数等于你要取的最后一个字符的位置值加上1

  //举个简单的例子

  var
a="i am a boy";

  var
b=a.slice(0,6);  //"i am a"

  3.splice(数组)

  用法:array.splice(start,deleteCount,item...)

  解释:splice方法从array中移除一个或多个数组,并用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数deleteCount是要移除的元素的个数。

  如果有额外的参数,那么item会插入到被移除元素的位置上。它返回一个包含被移除元素的数组。

  //举一个简单的例子

  var
a=[‘a‘,‘b‘,‘c‘];

  var
b=a.splice(1,1,‘e‘,‘f‘); 
//a=[‘a‘,‘e‘,‘f‘,‘c‘],  b=[‘b‘]

  4.split(字符串)

  用法:string.split(separator,limit)

  解释:split方法把这个string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量。separator参数可以是一个字符串或一个正则表达式。如果

  separator是一个空字符,会返回一个单字符的数组。

  //再举一个简单的例子

  var
a="0123456";

  var
b=a.split("",3); 
//b=["0","1","2"]

时间: 2024-10-23 04:35:46

这几个的用法你分得清吗?的相关文章

用户级线程和内核级线程,你分得清吗?

这篇文章是上一篇博客的补充,旨在把没有讲清楚的「用户级线程和内核级线程」补充完整.希望读者能对线程有更进一步的了解. 小白最近在学习多线程编程. 网上关于多线程的资料很多,小白很快就把线程的基本概念弄懂了,但关于「用户级线程和内核级线程」的概念,她却怎么也搞不清楚,只好向操作系统基础扎实的小明请教. 对于小白的问题,小明总会耐心解答:"线程里面这两个概念确实比较难理解,我先给你讲用户级线程吧." 用户级线程 "既然你说你已经看过线程的基本概念,那我就直接跳过这一部分了. 很久

Java语言this关键字用法全面总结

学习Java编程的时候,无论是谁,当学到面向对象这部分内容时都会遇到一个关键字:this.很多初学者对这个关键字的都会感觉到理解不透,不明白这个神秘的"this"到底表示什么意思.按照官方正规的解释,this关键字的意义被解释为"指向当前对象的引用".这个解释非常准确并且很精炼,但它太过学术化了,导致很多初学者有点读不懂,更谈不上深入理解它的意义.本文将用大白话的形式帮助初学Java的小伙伴来深入理解this关键字的意义,并且梳理它的各种用法. 其实,我们只要把th

北航软院2012级C#期末考试部分考题解答

博主注:本渣渣水平有限,文中若有不对的地方敬请指出,谢谢. 一.选择题(2*15=30) 1.In C# what is base class of all reference types? System.Type   B. System.Base    C.System.Object    D.System.Root 解答:所有引用类型的基类为System.Object 引用老师PPT: (枚举是值类型,放在这里只是作为扩展) 2.Wrong statement? A.double a = 1

jquery index与eq

之前一直都不怎么分得清这两个,每次都得重新查一遍.现在重新来理一下.(才知道原来eq既是选择器又是遍历方法) jQuery DOM 元素方法 - index() 方法 index() 方法返回指定元素相对于其他指定元素的 index 位置. 一般是$(this).index()或者$('.aaa').index(),用于确定该位置位于当前层级下的第几个,从0开始计数. 另外还有$(selector).index(element)这种用法,只是不怎么常见. jQuery :eq() 选择器 :eq

Python+Requests接口测试教程(2):requests

开讲前,告诉大家requests有他自己的官方文档:http://cn.python-requests.org/zh_CN/latest/ 2.1 发get请求 前言requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了.环境准备(小编环境):python:2.7.12pycharm:5.0.4requests:2.13.0(这学本篇之前,先要有一定的python基础,因为后面都是直接用python写代码了,小编主要以讲接口为主,pytho

libuv和libev 异步I/O库的比较

libuv 和 libev ,两个名字相当相近的 I/O Library,最近有幸用两个 Library 都写了一些东西,下面就来说一说我本人对两者共同与不同点的主观表述. 高性能网络编程这个话题已经被讨论烂了.异步,异步,还是异步.不管是 epoll 也好,kqueue 也罢,总是免不了异步这个话题. 1.使用: libev 是系统异步模型的简单封装,基本上来说,它解决了 epoll ,kqueuq 与 select 之间 API 不同的问题.保证使用 livev 的 API 编写出的程序可以

react大前端开发之超简说明(站在巨人的肩上)

1.前戏准备充分(包括但不限于):安装最新node.js环境,安装好VScode 2.npm init,初始化node.js项目,会生成package.json文件 3.npm install hapi,安装node.js的web服务器 4.npm install inert,让上一部安装的hapi服务器可以返回静态文件,比如JS啊,静态html啊,图片啊,css啊之类的东西(bullshit),还要在等下的server.js里添加上注册代码. 5.hapi官网:http://hapijs.co

UNIX环境高级编程笔记之文件I/O

一.看图说话 一图胜过千言,看图! 二.唠一唠 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是“哇”这种很吃惊的表情.其实大概三年前,那会大三,我就买了这本书,也看过一些,但好像没有留下什么印象,今天再看,依然觉得像新的一样.很大的原因我想是一直以来都在用windows(用windows做开发为什么学不到真正的技术,我想大家都懂的),当然知识结构不完整,学习能力这些就不说了.所以,对于那些致力于想在Linux下做开发的人来说,

C语言的知识与能力予以自评

看到一个问卷不错,拟作为第三次作业的部分内容. 你对自己的未来有什么规划?做了哪些准备?答:多学习几门生存技巧,首先先学会碰壁. 你认为什么是学习?学习有什么用?现在学习动力如何?为什么?答:学习是人格的升华,学习可以充实大脑,对学习很有动力,我热爱学习,不仅仅是教科书内容. 你感觉自己什么事情做的比较成功?有什么经验?答:我觉得我的生存技巧算是比较成功的,要多实践,多碰壁. 你怎么看待软件工程这个专业?学习这个专业你对自己有什么期望?答:软件工程在未来几年还是挺热门的,但是在数年后会经历一次改