中string转换为数组_javaScript中的伪数组,如何将伪数组转换成标准数组

ca15293a44cfc35a2a606a86201aa375.png

      首先我们要知道什么是伪数组

       伪数组:无法使用数组的方法和api,但是任然可以使用遍历数组的方式遍历他们。

<ul>    <li>1li>    <li>2li>    <li>3li>ul><script type="text/javaScript">  var li = document.getElementByTagName("li");  console.log(li)script>

4a5622858b5d994c845c0d9fcd8ded62.png

      当我们查找所有li的时候,结果返回了一个数组格式的列表,和数组非常像,但是它并不是数组,数组中的api比如slice,splice它都不能用;但是它是可以被遍历的,它叫做NodeList(节点列表),是一个类数组对象,这种就是伪数组,当然伪数组还有函数的arguments参数。

把一个伪数组转换成一个真正的数组。

      1.[].slice.call(obj) 这个等于Aray.prototype.slice.call(obj)

      slice会通过索引位置获取新的数组,该方法不会修改原数组,只返回一个新的子数组,call会把this的指向改为传进去的obj。

 var obj={    "0":"zhang",    "1":18,    length:2  }  var newArr=[].slice.call(li)  console.log(newArr)

a90cc6ca7f178897fe3b84bf69a279d3.png

        2.es6的新语法 Array.from(obj)

 var obj={    "0":"zhang",    "1":18,    length:2  }var newArr=[].slice.call(obj)console.log(newArr)

       3.使用扩展运算符也是es6的语法

var newArr= [...obj]

       如何判断真伪数组

let arr = [1,2,3];let arr1 = {naem:'wangcai',age:'99'};console.log(Array.isArray(arr));    //trueconsole.log(Array.isArray(arr1));   //false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值