`

将"类数组对象"转换成数组对象

 
阅读更多

javascript与dom有许多瑕疵,如著名的类数组对象Arguments,其他诸如HTMLCollection,NodeList如果它们都是数组的子类,那多省时啊。在标准浏览器中,好像只要对象存在length属性,就能把它转换为数组,但IE就不尽然。

//※※※※※※※※※※※测试1※※※※※※※※※※※※※※
function test(){
  alert(arguments)
  arguments = Array.prototype.slice.call(arguments);
  alert(arguments instanceof Array);
  alert(arguments)
}
test(1,2,3,4);
//※※※※※※※※※※※测试2※※※※※※※※※※※※※※
var htmlcollection = document.getElementsByTagName("h3");
alert(htmlcollection)
try{
  htmlcollection = Array.prototype.slice.call(htmlcollection);
  alert(htmlcollection instanceof Array);
  alert(htmlcollection);
}catch(e){
  alert(e)
}
//※※※※※※※※※※※测试3※※※※※※※※※※※※※※
var sheets = document.styleSheets;
alert(sheets)
try{
  sheets = Array.prototype.slice.call(sheets);
  alert(sheets instanceof Array);
  alert(sheets);
}catch(e){
  alert(e)
}
//※※※※※※※※※※※测试4※※※※※※※※※※※※※※
var arrayLike = {
  0 : '司徒正美',
  1 : '司徒正美',
  2 : '司徒正美',
  length : 3
};
alert(arrayLike)
arrayLike = Array.prototype.slice.call(arrayLike);
alert(arrayLike instanceof Array);
alert(arrayLike);

原帖:http://www.cnblogs.com/rubylouvre/archive/2009/11/30/1614087.html

分享到:
评论

相关推荐

    js将类数组对象转换成数组对象

    在标准浏览器中,可以使用Array.prototype.slice.call()方法将类数组对象转换为数组。这个方法通过调用Array的slice方法并传递类数组对象作为上下文,可以得到一个包含所有类数组对象元素的新数组。IE浏览器对这个...

    JavaScript类数组对象转换为数组对象的方法实例分析

    2、为什么要将类数组对象转换为数组对象? 数组对象Array有很多方法:shift、unshift、splice、slice、concat、reverse、sort,ES6又新增了一些方法:forEach、isArray、indexOf、lastIndexOf、every、some、map、...

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

    将类数组对象转换成数组后,我们就可以使用数组的各种方法。举几个例子: #### 示例1:arguments对象转换 ```javascript function fun() { var ary = makeArray(arguments); alert(ary.constructor); // 弹出...

    将数组转换成JSON对象

    这段代码展示了如何使用一个自定义的`toJSON`函数来将JavaScript中的数组或对象转换为JSON字符串。这里使用了jQuery的`$.each`方法遍历对象的所有键值对,并根据类型进行相应的处理,如对字符串类型的值进行引号包围...

    xml转换数组、对象转数组

    php将对象转成数组,php将xml转成数组 一个自定义函数搞定纯原创。

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

    `Array.from()`是JavaScript ES6新增的一个方法,用于将类似数组的对象或可遍历对象转换成真正的数组。本文将深入探讨`Array.from()`的工作原理、使用场景以及它与其他转换方法的对比。 首先,我们了解什么是伪数组...

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

    因此,在某些情况下,我们需要将这些对象转换为真正的数组,以便更好地利用数组提供的功能。本文将详细介绍如何进行这种转换。 #### 一、理解HTMLCollection和NodeList 1. **HTMLCollection**: - `...

    安卓 JSON实现对象和数组的相互转换

    Gson是Google提供的一个Java库,它能够将Java对象转换为JSON字符串,同时也能将JSON数据转换回等效的Java对象。在Android中,我们通常会创建一个工具类来封装这些转换操作,例如名为`GsonUtil`的类。 以下是一个...

    解析PHP将对象转换成数组的方法(兼容多维数组类型)

    通过以上分析,我们了解到了如何将PHP中的对象转换成数组,同时兼容处理多维数组类型。掌握这一技术点,对于进行复杂数据结构的处理和转换具有重要意义。在实际应用中,应根据具体需求灵活运用,并注意处理可能出现...

    PB POWERBUILDER 字符串 数组 相互 转换 转化

    *如果你将这个程序放在你的网站上,我希望你能同时加上本站的链接 | | * | * | * *老字符串转数组430579 | |新字符串转数组299600 | |老数组转字符串212863 | |新数组转字符串187 * |以上是200000个数组测试结果 | |...

    将HTMLCollection/NodeList/伪数组转换成数组的实现方法

    这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments 。 2,通过document.forms,Form.elements,Select.options,document....

    java XML转成LIST可以转成指定的类数组

    本篇文章将深入探讨如何将XML转换为指定类型的List数组,并涉及多层数据结构的处理。 1. **Java XML解析库** 在Java中,有多种库可用于解析XML文件,如DOM(Document Object Model)、SAX(Simple API for XML)和...

    C#下将Image转换成数组的类库

    总结一下,这个"C#下将Image转换成数组的类库"为我们提供了一种高效且便捷的方式,将图像数据转换为数组,以便进行更深入的计算和处理。它的存在大大简化了开发者的工作,提高了代码的可读性和效率,使得图像处理...

    JavaScript 数据元素集合与数组的区别说明

    转换方法有很多,例如司图正美的博文《js将类数组对象转换成数组对象》就提供了一些实现的范例。在给出的例子中,定义了一个makeArray()函数,该函数可以通过不同的方式将HTMLCollection对象转换为数组对象,便于...

    微信小程序 - 对象转换成对象数组

    我们应该转化为数组对象 [{},{},{},{}] ,最后通过wx:for遍历到页面 (此图片来源于网络,如有侵权,请联系删除! )    示例图: (此图片来源于网络,如有侵权,请联系删除! ) 免责声明:本站所有文章和图片均...

    音频文件数组转成c语言的数组

    将音频文件数组转换为C语言数组,主要是为了在内存中以结构化的形式存储这些采样点,以便进行进一步的处理,如播放、编辑或分析。以下是一些关键知识点: 1. **音频文件格式**:音频文件有多种格式,如WAV、MP3、...

    js中将具有数字属性名的对象转换为数组

    当我们谈论将具有数字属性名的对象转换为数组时,一般情况下我们会想到 `Array.prototype.slice` 方法,该方法可以将类数组对象转换成真正的数组。类数组对象是指拥有 `length` 属性和索引属性的对象,例如函数的 `...

    PHP 将 XML文件或内容直接转成数组

    - 最后调用 `object_toArray` 函数将SimpleXML对象转换为数组。 2. **定义辅助函数** `object_toArray` - 此函数递归地将SimpleXML对象或其他对象转换为数组。 - 如果传入的是数组,则遍历每个元素并递归调用...

Global site tag (gtag.js) - Google Analytics