weixin_43907392 2020-04-16 17:39 采纳率: 75%
浏览 122

关于javascript的一个题目,求大佬帮帮忙

We will fetch JSON data of some users from an HTML document, filter the data, and then display in a JavaScript console (e.g. with Browser's DevTools).

The JSON format looks like this:

[

{

"id": 1,

"name": "Leanne Graham",

"username": "Bret",

"email": "Sincere@april.biz",

"address": {

  "street": "Kulas Light",

  "suite": "Apt. 556",

  "city": "Gwenborough",

  "zipcode": "92998-3874",

  "geo": {

    "lat": "-37.3159",

    "lng": "81.1496"

  }

},

"phone": "1-770-736-8031 x56442",

"website": "hildegard.org",

"company": {

  "name": "Romaguera-Crona",

  "catchPhrase": "Multi-layered client-server neural-net",

  "bs": "harness real-time e-markets"

}

},

{

"id": 2,

"name": "Ervin Howell",

"username": "Antonette",

"email": "Shanna@melissa.tv",

"address": {

  "street": "Victor Plains",

  "suite": "Suite 879",

  "city": "Wisokyburgh",

  "zipcode": "90566-7771",

  "geo": {

    "lat": "-43.9509",

    "lng": "-34.4618"

  }

},

"phone": "010-692-6593 x09125",

"website": "anastasia.net",

"company": {

  "name": "Deckow-Crist",

  "catchPhrase": "Proactive didactic contingency",

  "bs": "synergize scalable supply-chains"

}

},

{

"id": 3,

"name": "Clementine Bauch",

"username": "Samantha",

"email": "Nathan@yesenia.net",

"address": {

  "street": "Douglas Extension",

  "suite": "Suite 847",

  "city": "McKenziehaven",

  "zipcode": "59590-4157",

  "geo": {

    "lat": "-68.6102",

    "lng": "-47.0653"

  }

},

"phone": "1-463-123-4447",

"website": "ramiro.info",

"company": {

  "name": "Romaguera-Jacobson",

  "catchPhrase": "Face to face bifurcated interface",

  "bs": "e-enable strategic applications"

}

},

{

"id": 4,

"name": "Patricia Lebsack",

"username": "Karianne",

"email": "Julianne.OConner@kory.org",

"address": {

  "street": "Hoeger Mall",

  "suite": "Apt. 692",

  "city": "South Elvis",

  "zipcode": "53919-4257",

  "geo": {

    "lat": "29.4572",

    "lng": "-164.2990"

  }

},

"phone": "493-170-9623 x156",

"website": "kale.biz",

"company": {

  "name": "Robel-Corkery",

  "catchPhrase": "Multi-tiered zero tolerance productivity",

  "bs": "transition cutting-edge web services"

}

},

{

"id": 5,

"name": "Chelsey Dietrich",

"username": "Kamren",

"email": "Lucio_Hettinger@annie.ca",

"address": {

  "street": "Skiles Walks",

  "suite": "Suite 351",

  "city": "Roscoeview",

  "zipcode": "33263",

  "geo": {

    "lat": "-31.8129",

    "lng": "62.5342"

  }

},

"phone": "(254)954-1289",

"website": "demarco.info",

"company": {

  "name": "Keebler LLC",

  "catchPhrase": "User-centric fault-tolerant solution",

  "bs": "revolutionize end-to-end systems"

}

},

{

"id": 6,

"name": "Mrs. Dennis Schulist",

"username": "Leopoldo_Corkery",

"email": "Karley_Dach@jasper.info",

"address": {

  "street": "Norberto Crossing",

  "suite": "Apt. 950",

  "city": "South Christy",

  "zipcode": "23505-1337",

  "geo": {

    "lat": "-71.4197",

    "lng": "71.7478"

  }

},

"phone": "1-477-935-8478 x6430",

"website": "ola.org",

"company": {

  "name": "Considine-Lockman",

  "catchPhrase": "Synchronised bottom-line interface",

  "bs": "e-enable innovative applications"

}

},

{

"id": 7,

"name": "Kurtis Weissnat",

"username": "Elwyn.Skiles",

"email": "Telly.Hoeger@billy.biz",

"address": {

  "street": "Rex Trail",

  "suite": "Suite 280",

  "city": "Howemouth",

  "zipcode": "58804-1099",

  "geo": {

    "lat": "24.8918",

    "lng": "21.8984"

  }

},

"phone": "210.067.6132",

"website": "elvis.io",

"company": {

  "name": "Johns Group",

  "catchPhrase": "Configurable multimedia task-force",

  "bs": "generate enterprise e-tailers"

}

},

{

"id": 8,

"name": "Nicholas Runolfsdottir V",

"username": "Maxime_Nienow",

"email": "Sherwood@rosamond.me",

"address": {

  "street": "Ellsworth Summit",

  "suite": "Suite 729",

  "city": "Aliyaview",

  "zipcode": "45169",

  "geo": {

    "lat": "-14.3990",

    "lng": "-120.7677"

  }

},

"phone": "586.493.6943 x140",

"website": "jacynthe.com",

"company": {

  "name": "Abernathy Group",

  "catchPhrase": "Implemented secondary concept",

  "bs": "e-enable extensible e-tailers"

}

},

{

"id": 9,

"name": "Glenna Reichert",

"username": "Delphine",

"email": "Chaim_McDermott@dana.io",

"address": {

  "street": "Dayna Park",

  "suite": "Suite 449",

  "city": "Bartholomebury",

  "zipcode": "76495-3109",

  "geo": {

    "lat": "24.6463",

    "lng": "-168.8889"

  }

},

"phone": "(775)976-6794 x41206",

"website": "conrad.com",

"company": {

  "name": "Yost and Sons",

  "catchPhrase": "Switchable contextually-based project",

  "bs": "aggregate real-time technologies"

}

},

{

"id": 10,

"name": "Clementina DuBuque",

"username": "Moriah.Stanton",

"email": "Rey.Padberg@karina.biz",

"address": {

  "street": "Kattie Turnpike",

  "suite": "Suite 198",

  "city": "Lebsackbury",

  "zipcode": "31428-2261",

  "geo": {

    "lat": "-38.2386",

    "lng": "57.2232"

  }

},

"phone": "024-648-3804",

"website": "ambrose.net",

"company": {

  "name": "Hoeger LLC",

  "catchPhrase": "Centralized empowering task-force",

  "bs": "target end-to-end models"

}

}

]

Please put it in a

 element of your HTML file. For instance, 


[

{

"id": 1,

"name": "Leanne Graham",

"username": "Bret",

"email": "Sincere@april.biz",

"address": {

  "street": "Kulas Light",

  "suite": "Apt. 556",

  "city": "Gwenborough",

  "zipcode": "92998-3874",

  "geo": {

    "lat": "-37.3159",

    "lng": "81.1496"

  }

},

"phone": "1-770-736-8031 x56442",

"website": "hildegard.org",

"company": {

  "name": "Romaguera-Crona",

  "catchPhrase": "Multi-layered client-server neural-net",

  "bs": "harness real-time e-markets"

}

},

...

]

Take out your JavaScript editor (VSC, or JS panel in CodePen), and pull these data into a JavaScript Object. You should filter the name of these users with the condition that the first letter of the name is "C". And print messages in the console like this:

Clementine Bauch (ID 3) has an email Nathan@yesenia.net

Chelsey Dietrich (ID 5) has an email Lucio_Hettinger@annie.ca

Clementina DuBuque (ID 10) has an email Rey.Padberg@karina.biz

Please do not print messages into the HTML content. I will only check the answer in DevTools. Name your codes "JS1" in CodePen.

Hints:

Get element by some method provided in JavaScript.

Get text content in the selected element.

Parse the JSON text to JavaScript Object.

Iterate over the Object in a reasonable way.

Filter the String in a reasonable way.

Display the result with the console.log() method.

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-16 22:38
    关注

    参考GPT和自己的思路:

    好的,这里是解决这个问题的代码示例:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>Filter JSON data in JavaScript</title>
      </head>
      <body>
        <pre id="data"></pre>
        <script>
          fetch('data.json')
            .then(response => response.json())
            .then(data => {
              const filteredUsers = data.filter(user => user.name.startsWith("C"));
              filteredUsers.forEach(user => {
                console.log(`${user.name} (ID ${user.id}) has an email ${user.email}`);
              });
            })
            .catch(error => console.error(error));
        </script>
      </body>
    </html>
    

    这段代码会向服务器请求名为 data.json 的JSON数据并将其解析为JavaScript对象。然后它会过滤出所有名字以"C"开头的用户,对每个用户输出一个信息到控制台,包含用户的名字、ID和电子邮件地址。

    注意,在这个示例中,我们将JSON数据放入了 <pre> 元素中以便于查看,但实际上我们并没有使用它来解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站