使用apply的方法将伪数组转化为数组

js中好多DOM方法都是针对数组的,可是有时候我们会取得一些伪数组,此时要想操作伪数组,那就必须把伪数组转化为数组,以下通过apply(  )的方法demo一个实例,以供大家参考(以下是部分代码):

</head>
<body>
<span>span</span> <span> span</span>

<p>ppp</p>
<span>span</span> <span> span</span>

<p>ppp</p>
<span>span</span> <span> span</span>

<p>ppp</p>
<script>
    function t(tagName,context){
        context=context||document;
        return context.getElementsByTagName(tagName);
    }
   var spans= t(‘span‘ );
    console.log ( spans );//伪数组
    var arr=[];  //声明一个新数组
    arr.push.apply(arr,spans);   //使用apply的第二个参数是一个数组(伪数组)的方法,将其转化成数组.
    console.log ( arr ); //数组
    arr.forEach(function (v,i){
        v.style.border=‘1px solid red‘;  //使用数组等的方法简单的添加了一个样式
    })

</script>

结果为:

时间: 2024-12-14 18:48:55

使用apply的方法将伪数组转化为数组的相关文章

将类数组转化成数组

首先说说什么是类数组: 1.拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解), 2.不具有数组所具有的方法, 比如:arguments 将类似数组的对象转化成真正的数组的方法: 方法一: var arr = Array.prototype.slice.apply(arguments); 或 var arr = Array.prototype.slice.call(arguments); <script> var aa =

Array.from()类数组转化为数组的用法

类数组对象转化为数组 let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; let arr = Array.from(arrayLike) arr.forEach(el=>console.log(el)) 输出结果:[a,b,c],需要注意的是,length不能少 原文地址:https://www.cnblogs.com/leileilei/p/10985990.html

JS数组之伪数组以及伪数组转化为标准数组

什么是伪数组? 1,具有length属性 2,能够使用数组遍历方法遍历它们 3,不具有数组的push,pop等方法 哪些是伪数组? 典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组, 诸如var obj5 = { 99: ‘abc’, length: 100 }这样的数据也是伪数组 真数组的判断方法 * 如何判断数据是不是真数组:* 1.数据 instanceof Ar

将一个类数组对象转化为数组的几种方法

1.slice 语法:slice(begin,end) 方法选择一个从开始到结束(不包括结束)的数组的一部分浅拷贝到一个新的数组对象,方法不会改变原数组.如果是对象则拷贝对象的引用到新数组,如果是基本类型则会拷贝这些值到新数组. 如果省略begin则会从0开始.如果end被省略则会抽取到最后一个元素,如果end数值大于数组长度则会抽取到最后一个元素. 使用Array.prototype.slice.call(arguments)可以将类数组转化为数组对象,[].slice.call(argume

求平均数-----类数组转换成数组

求平均数的代码function avgFn() { 首先把arguments转化为数组 var ary = []; for (var i = 0; i < arguments.length; i++) { ary.push(arguments[i]); ary[ary.length] = arguments[i]; } 数组排序 ary.sort(function (a, b) { return a - b; }); 掐头去尾 ary.unshift(); ary.pop(); 求和求平均值,小

在Javascript中什么是伪数组?如何将伪数组转化为标准数组?

伪数组(类数组): 无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push,pop等方法,但仍可以对真正数组遍历方法来遍历它们.典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组.可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array对象. function log(){ var args

JS解析json数据并将json字符串转化为数组的实现方法

json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法,需要了解的朋友可以参考下 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document

转 JavaScript里的数组转化新方法Array.From

过去,我们使用各种各样的方法来将类似Array对象的东西(比如 arguments 和 NodeList) 转换成真的数值.比如下面这个: 将NodeList转换成数组 基本上,这些东西我们都可以使用Array.prototype.slice.call()这样的方法将arguments和NodeList等转行成想要的形式. 如今,我们有了更直接的方法,直接将这些类数组的对象转化成真正的对象. 将NodeList 转化成 Array var divs = Array.from(document.q

在Javascript中什么是伪数组?如何将伪数组转化成标准数组?

在js中,数组是特殊的对象,凡是对象有的性质,数组都有,数组表示有序数据的集合,而对象表示无序数据的集合. 那伪数组是什么呢,当然它也是对象,伪数组一般具有以下特点: 按索引方式存储数据: 具有length属性: 没有数组的push.shift.pop等方法; function的arguments对象,还有getElementsByTagName.ele.childNodes等返回的NodeList对象,或者自定义的某些对象,这些都可以是伪数组. 我们可以通过以下几种方式将伪数组转换为标准数组: