javascript Array系列函数之9:slice拷贝一个数组
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拷贝一个数组相关推荐
- javascript Array系列函数之14:every函数
一.every, 是数组原型上的方法,Array.prototype.every 二.every的第1个参数是函数 示例 : var data = [1,3,5]; var ret = data.ev ...
- JavaScript Array --map()、filter()、reduce()、forEach()函数的使用
题目: 1.得到 3000 到 3500 之内工资的人. 2.增加一个年龄的字段,并且计算其年龄. 3.打印出每个人的所在城市 4.计算所有人的工资的总和. 测试数据: function getDat ...
- JavaScript Array相关方法
JavaScript 标准内置对象 Array 常用方法 Array.prototype.every() Array.prototype.some() Array.prototype.filter() ...
- Javascript学习之函数(function)
http://www.cnblogs.com/royalroads/p/4418587.html 在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,而且都与其 ...
- javascript基础系列(入门前须知)
-----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...
- JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...
6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...
- javascript Array对象基础
感觉自己对Array对象总是有种朦胧的感觉,今天自己手写总结,加深一下印象. 对于Array对象我的总结思想是:5法,3招,12式 1.声明5法:只针对一维数组,当然还有二维三维,这里就不做解释了 v ...
- openssl之EVP系列之12---EVP_Seal系列函数介绍
openssl之EVP系列之12---EVP_Seal系列函数介绍 ---根据openssl doc/crypto/EVP_SealInit.pod翻译和自己的理解写成 (作者:Dra ...
- javascript Array.isArray
Array.isArray(obj) 可以用来判断obj是不是一个数组 Array.isArray 是ES5引入的方法,可以使用Object.prototype.toString.call()来实现 ...
最新文章
- 05后都上清华了!首批丘成桐数学领军人才名单发布,三位菲尔兹奖得主为其授课,周末就来学校报到...
- python学习之----获取标签属性
- Boost::context模块fiber的斐波那契测试程序
- VTK:图表之AdjacentVertexIterator
- leetCode 338
- [转]一个人脸检测器
- Ubuntu下如何使用虚拟机安装WindowsXP?(2)【转】
- k2p升级显示服务器错误,k2p—b1版本刷固件遇到的问题
- app测试和接口测试区别
- 数学建模——指派问题
- 浏览器上模拟qq的消息提示声/网页播放声音
- 为什么浏览器全面禁用三方 Cookie
- html中点重置和提交没反应,网页点提交按钮没反应 js提交表单,点击按钮无反应...
- 网易企业邮箱:与POP3、WebMail相比,为什么Imap4更被接受
- 添加178源未能链接服务器,添加178源_在cydia中添加178源_178插件源-Guide信息网
- Android Camera对焦相关基础自动对焦,手动对焦
- 娃哈哈,又c,又JAVA的,莫明其妙的
- C# vs2019 智能提示中文突然变成英文
- tensorflow/models-v1.12.0中使用ssd_mobiledet_cpu_coco
- Centos7系统下部署Gitlab+Jenkins+Docker 实现自动化部署项目
热门文章
- java五子棋技术路线_五子棋游戏程序设计(VB)
- Towards Adversarial Attack on Vision-Language Pre-training Models
- cad 中的计算机在哪里打开,CAD计算器如何使用?
- swf转gaf使用方法
- 2025年,我的人生全被互联网巨头垄断了
- 【机械仿真】基于matlab打桩机运动学仿真【含Matlab源码 2101期】
- Dell戴尔笔记本电脑Vostro 14 5410原装出厂WIN10系统恢复原厂OEM系统
- Photoshop 中的彩蛋
- SKU组件助您将PowerBI完美嵌入第三方应用系统
- 名帖140 启功 楷书《临竹山连句》