2

我正在尝试将值推送到数组的属性,如下所示

 var obj = {};
 obj.a = (obj.a || []).push(10);
 console.log( typeof obj.a ); // Returning number  

如何纠正此问题以将 obj.a 保留为数组?

4

1 回答 1

6

因为.push [MDN]返回数组的新长度:

返回
调用方法的对象的新长度属性。

你可以做:

(obj.a || (obj.a = [])).push(10);
于 2013-05-09T09:40:40.863 回答