在Javascript中,我可以使用Object.defineProperty将动态属性添加到另一个动态属性

时间:2015-12-28 08:52:12

标签: jquery

我有包含数组的动态属性。对于该数组属性,我需要另一个动态属性“Count”,它实际上是数组的长度。

Object.defineProperty( this, 
        'ObjectVersions': {
            get: function () {
                return globalObjects.CurrentItems;
            }
        }

我想访问 Items.ObjectVersions.Count

3 个答案:

答案 0 :(得分:0)

这会有所帮助:

Object.defineProperty( this, 
    'ObjectVersions': {
        get: function () {
            return globalObjects.CurrentItems;
        },
        Count : globalObjects.CurrentItems.length
     }
);

每次我们在Count

中添加或删除对象时,我们都应该更新globalObjects.CurrentItems的值

答案 1 :(得分:0)

我有包含数组的动态属性。对于该数组属性,我需要另一个动态属性“Count”,它实际上是数组的长度。

它的用途是什么,因为数组已经有了一个length属性。这可以在您将要使用该特定阵列的代码中随时使用。

答案 2 :(得分:0)

我找到了解决方案。

'ObjectVersions': {
            get: function () {
                var result = globalObjects.CurrentItems;
                result.Count = globalObjects.CurrentItems.length;
                return result;
            }
        }