首页 > 解决方案 > 编写对象的静态数组

问题描述

我需要帮助格式化此响应。以下是我从服务器获得的响应。我想写出这个的静态版本,但我正在为如何编写它的格式而苦苦挣扎。

我想写的回应:

[
    category1: [{...},{...}], 
    category2: [{...},{...}], 
    category3: [{...},{...}]
]

我的尝试:

const myArr = [
    "category1": [{...},{...}],
    "category2": [{...},{...}],
    "category3": [{...},{...}]
]

我在这里做错了什么?谢谢!为 n00b 问题道歉。

标签: javascript

解决方案


你写了一些介于数组字面量和对象字面量之间的东西。它需要是其中之一。

一个数组字面量,包含对象数组:

const myArr = [
    [{/*...*/},{/*...*/}],
    [{/*...*/},{/*...*/}],
    [{/*...*/},{/*...*/}]
];

您可以通过 访问“category1”数组myArr[0],通过myArr[1]等访问“category2”数组。

一个对象字面量,包含对象数组作为属性值:

const myObj = {
    category1: [{/*...*/},{/*...*/}],
    category2: [{/*...*/},{/*...*/}],
    category3: [{/*...*/},{/*...*/}]
};

您可以通过 访问“category1”数组myObj.category1,通过myObj.category2等访问“category2”数组。

虽然可以给数组任意命名的属性(因为数组是对象),但不能在数组字面量中这样做(必须先创建数组,然后添加属性),而且您通常不想这样做无论如何。:-)


推荐阅读