当前位置: 首页 > news >正文

[].slice.call()将类数组转化为真正的数组

JavaScript slice() 方法:

定义:

从数组中切割指定元素,返回新的一个数组

语法:(左闭右开)

arrObject.slice(start,end);
参数描述
start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

 

返回值:

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

function test() {
    return  [].slice.call(arguments)
}
var list = test(4, 5, 6) // [4,5,6]
[].slice === Array.prototype.slice; // true

在上面的例子中我们通过call()将[].slice中的this指向了arguments,使其拥有了slice方法。slice()如果不传参则是从第0项开始截取到length-1项并返回截取后的数组[4,5,6]上面其实就是省略了call()的第二个参数,你可以把它看作为[].slice.call(arguments,0);

var arrayLike = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
}

[].slice.call(arrayLike);//[a,b,c]

 

相关文章:

  • 微信h5输入框键盘兼容问题
  • CSS与GPU硬件加速(二三四五面试题)
  • 简单快速理解js中的this、call和apply
  • 点击按钮,让页面滚动到指定位置的方法
  • 类数组转化为真实的数组
  • WebStorm设置编辑器背景图片
  • 前端跳槽潮中面试官希望看到什么亮点?
  • 使用lighthouse分析你的网站性能
  • CSS选择器之兄弟选择器(~和+)
  • JS实现字符串翻转的方法分析
  • js 函数重载
  • 从两个角度理解为什么 JS 中没有函数重载
  • Promise.all和Promise.race区别,和使用场景
  • js 判断当前时间是否处于某个时间段内
  • 请描述一下 cookies,sessionStorage 和 localStorage 的区别
  • [LeetCode] Wiggle Sort
  • [nginx文档翻译系列] 控制nginx
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • egg(89)--egg之redis的发布和订阅
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • java中具有继承关系的类及其对象初始化顺序
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Python学习之路16-使用API
  • Tornado学习笔记(1)
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 初识 beanstalkd
  • 关于使用markdown的方法(引自CSDN教程)
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 简单易用的leetcode开发测试工具(npm)
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 前端学习笔记之观察者模式
  • 前端自动化解决方案
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • k8s使用glusterfs实现动态持久化存储
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # 飞书APP集成平台-数字化落地
  • #微信小程序(布局、渲染层基础知识)
  • %@ page import=%的用法
  • (23)Linux的软硬连接
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (SpringBoot)第七章:SpringBoot日志文件
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一) storm的集群安装与配置
  • *2 echo、printf、mkdir命令的应用
  • .net Stream篇(六)
  • .net 设置默认首页
  • .net 微服务 服务保护 自动重试 Polly
  • .Net6 Api Swagger配置
  • .NET开源项目介绍及资源推荐:数据持久层