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

标签 javascript arrays properties declarative

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

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

但问题是这些是指令,而常量文件是一个大对象,所以我不能使用它。我知道我可以使用普通对象,但我真的想要数字索引、动态长度、push/pop 方法等。我也知道每个对象都有替代品,例如使用数字作为属性名称,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.
        ...
    ]
};

最佳答案

您可以使用Object.assign :

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

关于javascript - 以声明方式分配 javascript 数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42707571/

相关文章:

javascript - 我如何从 updatepanel 中的后端调用 javascript 函数

python - 将 @property 与另一个装饰器结合起来

c#-4.0 - 如何在 C# 4.0 中创建静态类的属性

javascript - 我不知道为什么我的 setInterval 无法正常工作 javascript

javascript - C3.js 中的深入分析功能

javascript - 如何检查 Cordova 中是否存在目录?

c++ - 多维数组作为类成员分配在堆上

javascript - Javascript 中按背景颜色排列的元素数组

Java - 二维阵列板计数器

properties - 如何使用 CDI 从 .properties 文件 @Inject 值