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

上一篇:Cake


下一篇:python 标准库 -- glob