以声明方式分配javascript数组属性

时间:2017-03-09 23:35:58

标签: javascript arrays properties declarative

我正在javascript中创建一个复杂的树状数组/对象,以动态创建类似的页面(具有不同的配置文件)。由于它的静态特性,公司策略是将此数组保存在主常量文件中(当然,作为声明性常量)。所以我的问题是,如何在javascript数组中分配声明属性?我知道我可以做到以下几点:

var a=[9,6,0,4];
a.title='profile 1';

但问题是那些是指令,而常量文件是一个大对象,所以我不能使用它。我知道我可以使用普通对象,但我真的想要数字索引,动态长度,推/弹方法等。我也知道每个都有替代品,比如使用数字作为属性名称,Object.keys(a)。长度等等,但如果它只是一个阵列,它将使我的生活变得更加容易。基本上,我需要在一条指令中创建它:

Array[2]
>0: Object
>1: Object
>length: 2
>title: "profile1"
>__proto__: Array[0]

编辑: 由于这种混淆,我将尝试澄清为什么我特别需要它作为单个指令。正如我所提到的,常量文件是一个大对象,没有指令,但它是自己的声明,所以它必须是一个属性。

CONSTANTS={
    const1: 'something',
    const2: 'something',
    const3: 'something',
    ...
    const60: 'something',
    myArray: [
        [{},{},{},{}],//here the title property would go directly on the array
        [{},{},{},{}],//same
        [{},{},{},{}],//etc.
        ...
    ]
};

1 个答案:

答案 0 :(得分:1)

您可以使用Object.assign

var a = Object.assign([1, 2, 3, 4], {title: 'profile 1'});