`

js将伪数组转换为标准数组的多种方法

阅读更多

在js中,数组是特殊的对象,凡是对象有的性质,数组都有,数组表示有序数据的集合,而对象表示无序数据的集合。

那伪数组是什么呢,当然它也是对象,伪数组一般具有以下特点:

  • 按索引方式存储数据;
  • 具有length属性;
  • 没有数组的push、shift、pop等方法;

function的arguments对象,还有getElementsByTagName、ele.childNodes等返回的NodeList对象,或者自定义的某些对象,这些都可以是伪数组。

我们可以通过以下几种方式将伪数组转换为标准数组:

  1. 使用Array.prototype.slice.call();
    Array.prototype.slice.call({
     0:"likeke",
     1:12,
     2:true,
     length:3
    });
    //["likeke", 12, true]
  2.  使用[].slice.call(),了解js原型链的都知道,实际上这种方法和第一中方法是一样的,但上面第一种方式相对效率更高。
    [].slice.call({
     0:"likeke",
     1:12,
     2:true,
     length:3
    });
    //["likeke", 12, true]
  3. 使用ES6中Array.from方法;
    Array.from({
     0:"lk",
     1:12,
     2:2014,
     3:"长安大学",
     length:4
    });
    //["lk", 12, 2014, "长安大学"]
1
3
分享到:
评论

相关推荐

    JS Array.from()将伪数组转换成数组的方法示例

    主要介绍了JS Array.from()将伪数组转换成数组的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    js中将HTMLCollection NodeList 伪数组转换成数组的代码.docx

    js中将HTMLCollection NodeList 伪数组转换成数组的代码.docx

    js中将HTMLCollection/NodeList/伪数组转换成数组的代码

    js中将HTMLCollection/NodeList/伪数组转换成数组的代码,需要的朋友可以参考下。

    javascript 伪数组实现方法

    这篇文章来回答javascript通用循环遍历方法forEach中最后提到的关于伪数组的问题。 什么是伪数组 能通过Array.prototype.slice转换为真正的数组的带有length属性的对象。 这种对象有很多,比较特别的是arguments对象...

    JavaScript常用脚本汇总(二)

    把JavaScript中的伪数组转换为真数组 在 JavaScript 中, 函数中的隐藏变量 arguments 和用 getElementsByTagName 获得的元素集合(NodeList)都不是真正的数组,不能使用 push 等方法,在有这种需要的时候只能先...

    微软JavaScript手册

    getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date ...

    javascript文档

    getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date ...

    JScript 语言参考

    getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date ...

    171208_VueSource:Vue源码分析

    1. 准备1.[].slice.call(lis): 将伪数组转换为真数组2.node.nodeType: 得到节点类型3.Object.defineProperty(obj, propertyName, {}): 给对象添加/修改属性(指定描述符)configurable: true/false 是否可以重新...

    MVVM:对VueMVVM模式的理解

    1. 准备1.[].slice.call(lis): 将伪数组转换为真数组2.node.nodeType: 得到节点类型3.Object.defineProperty(obj, propertyName, {}): 给对象添加/修改属性(指定描述符)configurable: true/false 是否可以重新...

    json的介绍 以及 json2.js的用法

    这可以用来将一般的类改变成伪类的实例,或者将日期字符串转变为日 期对象。 myData = JSON.parse(text, function (key, value) { var type; if (value && typeof value === 'object') { type = value.type; if ...

    javascript中判断json的方法总结

    简单地说, JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串(伪对象) ,然后就可以在函数之间轻松地传递这个字符串,或者 在异步应用程序中将字符串从 Web 客户端传递给服务器端程序 。这个字符串看起来...

    《javaScrip开发技术大全》源代码

    • sample06.htm 将日期部分转换为字符串 • sample07.htm 将时间部分转换为字符串 • sample08.htm 将时间部分转换为字符串 • sample09.htm 获取日期对象中日期部分 • sample10....

    前端面试宝典V3.0.docx

    15、 什么是类数组(伪数组),如何将其转化为真实的数组?(必会) 92 16、如何遍历对象的属性?(必会) 92 17、src 和 href 的区别是?(必会) 94 18、如何使用原生 JavaScript 给一个按钮绑定两个 onclick 事件...

    FE-Knowledge:前端知识整理

    三、JavaScriptJavaScript的原型与原型链JavaScript的执行上下文与执行上下文栈JavaScript的作用域与作用域链JavaScript的thisJavaScript的闭包JavaScript的垃圾回收机制和内存泄露JavaScript创建对象的多种方式及优...

    vue-source-code-analyze:vue源代码分析-vue source code

    [] .slice.call(lis):将伪整数转换为真数组 node.nodeType:得到例程类型 Object.defineProperty(obj,propertyName,{}):给对象添加/修改属性(指定引用)数据可配置:true / false是否可以重新定义...

Global site tag (gtag.js) - Google Analytics