参考下面的代码
var init = {
0: {
id: '1'
},
1: {
id: '2'
}
}
var obj = {};
for (var i in init){
.......
}
现在是需求就是有一个对象的变量
我知道.push()对象并不能调用
所以想会不会有什么方法能跟数组一样能使用.push()方法?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这样在遍历的时候会多出
length和push,自己过滤一下就好了https://github.com/v8/v8/blob...
补充最高票内容 push的实现
this需要的条件只是length属性当然可以了,但是需要给对象添加一个
length的属性,至于为什么可以这么做,去看看v8源码中对push的定义就好,简单来说只要满足key是number的,并且还有length属性就可以用push。这样就可以了吧!不知道是否满足你的需求。
首先你需要把这个对象变成一个类数组对象,给它再加个属性,
length:2,此时这个对象就变成了具有一些数组方法的类数组对象,然后使用Array.prototype.push.call()方法调用数组的push方法即可