js中如何以最简单的方式将数组元素添加到对象中


//如题,通常做法就是循环数组,最后在添加length属性,如:

  
var obj = {};  
    var pushArr = [11,22,33,44,55,66];
    for(var i=0;i<pushArr.length;i++) {
        obj[i] = pushArr[i];
    }
    obj.length = pushArr.length;

    console.log(obj); //{0:11,1:22,2:33,3:44,4:55,5:66,length:6}

简单方法:

//js将数组元素添加到对象中(或 数组转换成对象)有个小技巧:

var obj = {};  
[].push.apply(obj,[11,22,33,44,55,66]);

console.log(obj); //{0:11,1:22,2:33,3:44,4:55,5:66,length:6}

由于obj是个对象没有像数组的push()方法,所以利用数组的push()以及apply()的特性来将数组作用于push()并修改当前的引用。 有较严重的代码洁癖的患者可以使用这个方法。

转载自:http://www.dewen.net.cn/q/4563


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM