如题,通常做法就是循环数组,最后在添加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}
如何不用循环更简单的实现上边的效果? 将一个数组添加到obj中。
趣味 JavaScript
我自己回答下吧,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()并修改当前的引用。 有较严重的代码洁癖的患者可以使用这个方法。
JavaScript重写函数让其无限相加
javascript 中语句 1..a 或1.1.b 为什么返回的是undefined,而不是报错
[趣味]写一段最短的js代码,用上所有关键字
模仿实现js中自带的push功能
js 利用正则给字符串在指定的位置插入内容?
JS: 1.toString OR (1).toString