1、slice没有参数,拷贝一个数组,跟原数组无关联

var arr1 = ['a', 'b', 'c'];

var arr2 = arr1.slice();

console.log(arr2,arr1==arr2);

输出:['a', 'b', 'c'] false

2、slice(start,end)有参数

从start下标开始(包括start),到end(不包括end,如果没有end参数,则到字符串的结尾),复制数组到新的数组

var arr1 = ['a', 'b', 'c', 'e', 'f'];

var arr2 = arr1.slice(2);

console.log(arr2);

输出:['c', 'e', 'f']

var arr3 = arr1.slice(1,3);

console.log(arr3);

输出:['b', 'c']

3、slice参数是负数的,-1从最后一位开始,-2从倒数第二位开始

var arr1 = ['a', 'b', 'c', 'e', 'f'];

var arr2 = arr1.slice(-2,-1);

console.log(arr2);

输出:["e"]

4、arr.slice(NaN)    arr.slice(null)  NaN null这两个是无效参数,默认当0

var arr = ['a', 'b', 'c', 'e', 'f'];

var arr1 = arr.slice(NaN) ;

var arr2 = arr.slice(null) ;

console.log(arr1,arr2);

输出:['a', 'b', 'c', 'e', 'f']['a', 'b', 'c', 'e', 'f']

5、arr.slice(undefined) undefined在javascript中当成空参数,即等同没有传参数

var arr = ['a', 'b', 'c', 'e', 'f'];

var arr1 = arr.slice(undefined,undefined) ;

console.log(arr1);

输出:['a', 'b', 'c', 'e', 'f']

6、arr.slice('1')  arr.slice([1]) 中的参数会被转化成数字

var arr = [1,2,3,4,5];

console.log(arr.slice('1'));

console.log(arr.slice([1]));

输出:

[2, 3, 4, 5]

[2, 3, 4, 5]

javascript Array系列函数之9:slice拷贝一个数组相关推荐

  1. javascript Array系列函数之14:every函数

    一.every, 是数组原型上的方法,Array.prototype.every 二.every的第1个参数是函数 示例 : var data = [1,3,5]; var ret = data.ev ...

  2. JavaScript Array --map()、filter()、reduce()、forEach()函数的使用

    题目: 1.得到 3000 到 3500 之内工资的人. 2.增加一个年龄的字段,并且计算其年龄. 3.打印出每个人的所在城市 4.计算所有人的工资的总和. 测试数据: function getDat ...

  3. JavaScript Array相关方法

    JavaScript 标准内置对象 Array 常用方法 Array.prototype.every() Array.prototype.some() Array.prototype.filter() ...

  4. Javascript学习之函数(function)

    http://www.cnblogs.com/royalroads/p/4418587.html 在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,而且都与其 ...

  5. javascript基础系列(入门前须知)

    -----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...

  6. JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...

    6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...

  7. javascript Array对象基础

    感觉自己对Array对象总是有种朦胧的感觉,今天自己手写总结,加深一下印象. 对于Array对象我的总结思想是:5法,3招,12式 1.声明5法:只针对一维数组,当然还有二维三维,这里就不做解释了 v ...

  8. openssl之EVP系列之12---EVP_Seal系列函数介绍

    openssl之EVP系列之12---EVP_Seal系列函数介绍     ---根据openssl doc/crypto/EVP_SealInit.pod翻译和自己的理解写成     (作者:Dra ...

  9. javascript Array.isArray

    Array.isArray(obj) 可以用来判断obj是不是一个数组 Array.isArray 是ES5引入的方法,可以使用Object.prototype.toString.call()来实现 ...

最新文章

  1. 05后都上清华了!首批丘成桐数学领军人才名单发布,三位菲尔兹奖得主为其授课,周末就来学校报到...
  2. python学习之----获取标签属性
  3. Boost::context模块fiber的斐波那契测试程序
  4. VTK:图表之AdjacentVertexIterator
  5. leetCode 338
  6. [转]一个人脸检测器
  7. Ubuntu下如何使用虚拟机安装WindowsXP?(2)【转】
  8. k2p升级显示服务器错误,k2p—b1版本刷固件遇到的问题
  9. app测试和接口测试区别
  10. 数学建模——指派问题
  11. 浏览器上模拟qq的消息提示声/网页播放声音
  12. 为什么浏览器全面禁用三方 Cookie
  13. html中点重置和提交没反应,网页点提交按钮没反应 js提交表单,点击按钮无反应...
  14. 网易企业邮箱:与POP3、WebMail相比,为什么Imap4更被接受
  15. 添加178源未能链接服务器,添加178源_在cydia中添加178源_178插件源-Guide信息网
  16. Android Camera对焦相关基础自动对焦,手动对焦
  17. 娃哈哈,又c,又JAVA的,莫明其妙的
  18. C# vs2019 智能提示中文突然变成英文
  19. tensorflow/models-v1.12.0中使用ssd_mobiledet_cpu_coco
  20. Centos7系统下部署Gitlab+Jenkins+Docker 实现自动化部署项目

热门文章

  1. java五子棋技术路线_五子棋游戏程序设计(VB)
  2. Towards Adversarial Attack on Vision-Language Pre-training Models
  3. cad 中的计算机在哪里打开,CAD计算器如何使用?
  4. swf转gaf使用方法
  5. 2025年,我的人生全被互联网巨头垄断了
  6. 【机械仿真】基于matlab打桩机运动学仿真【含Matlab源码 2101期】
  7. Dell戴尔笔记本电脑Vostro 14 5410原装出厂WIN10系统恢复原厂OEM系统
  8. Photoshop 中的彩蛋
  9. SKU组件助您将PowerBI完美嵌入第三方应用系统
  10. 名帖140 启功 楷书《临竹山连句》