原则上obj是不能转换成数组的.首先array也是obj.只是一个特殊的object. obj一个很关键的点,是拥有成员和方法,撇开方法不说,obj就是一个key-value结构.也就是哈希数组,而js的数组只能是由数字索引组成的.撇开了key,只留下value的话数据丢失太多.如果保留了key,那么就是哈希数组,而在js里面,哈希数组属于obj,不属于array. 强制转换如下. var arr = []; for(i in obj){ arr.push(i); } 强制转换的话,会有多余的参