首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript:如何访问对象中的数组对象

JavaScript:如何访问对象中的数组对象
EN

Stack Overflow用户
提问于 2022-04-02 18:14:10
回答 1查看 50关注 0票数 0

在JavaScript中,我很难访问对象内部的数组对象。这是总体的对象结构。

代码语言:javascript
复制
categories: Array(5)
0:
name: "Electronics"
subCategories: Array(16)
0:
name: "Video Games & Accessories"
__typename: "SubCategory"
[[Prototype]]: Object
1: {__typename: 'SubCategory', name: 'UPS & Surge Protection'}
2: {__typename: 'SubCategory', name: 'Tablets'}

下面是我获取对象的反应代码。

代码语言:javascript
复制
import React from "react";
import { useQuery, gql } from "@apollo/client";

const CATEGORY = gql`
  {
    categories {
      name
      subCategories {
        name
      }
    }
  }
`;
const Hero = () => {
  const { data, loading, error } = useQuery(CATEGORY);
  return (
    <div>
      
      <div className="flex space-x-16 p-4 mt-10">
        <div className=" w-64  bg-green-500">
          {data?.categories?.subCategories?.map((launch) => (
            <div key={launch.id}>{launch.name}</div>
          ))}
        </div>
        <div className="flex-1  bg-green-500">dgfd</div>
      </div>
    </div>
  );
};

export default Hero;

我想动态地映射subCategory name。我在这里犯了什么错?

代码语言:javascript
复制
<div className="flex space-x-16 p-4 mt-10">
            <div className=" w-64  bg-green-500">
              {data?.categories?.subCategories?.map((launch) => (
                <div key={launch.id}>{launch.name}</div>
              ))}
            </div>

以下是json数据

代码语言:javascript
复制
{
  "categories": [
    {
      "__typename": "Category",
      "name": "Electronics",
      "subCategories": [
        {
          "__typename": "SubCategory",
          "name": "Video Games & Accessories"
        },
        {
          "__typename": "SubCategory",
          "name": "UPS & Surge Protection"
        },
        {
          "__typename": "SubCategory",
          "name": "Tablets"
        },
        {
          "__typename": "SubCategory",
          "name": "TV's"
        },
        {
          "__typename": "SubCategory",
          "name": "Software"
        },
        {
          "__typename": "SubCategory",
          "name": "Routers, Servers & Networking"
        },
        {
          "__typename": "SubCategory",
          "name": "Projectors"
        },
        {
          "__typename": "SubCategory",
          "name": "Printers, Scanners & Copiers"
        },
        {
          "__typename": "SubCategory",
          "name": "Other Electronics"
        },
        {
          "__typename": "SubCategory",
          "name": "Mobile Phones"
        },
        {
          "__typename": "SubCategory",
          "name": "Mobile Accessories"
        },
        {
          "__typename": "SubCategory",
          "name": "Laptops"
        },
        {
          "__typename": "SubCategory",
          "name": "Digital Cameras"
        },
        {
          "__typename": "SubCategory",
          "name": "Desktop Computers"
        },
        {
          "__typename": "SubCategory",
          "name": "Computer Accessories"
        },
        {
          "__typename": "SubCategory",
          "name": "Audio & Video Equipment"
        }
      ]
    },

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-02 19:03:30

子类别不会被访问,因为它们在类别内部的数组中,并且不会被直接访问。以categories.subcategories或任何其他有效索引的形式访问它应该完成此任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71720040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档