【问题标题】:How to sort the array and display it to the console using ForEach and Filter?如何使用 ForEach 和 Filter 对数组进行排序并将其显示到控制台?
【发布时间】:2022-01-12 12:35:13
【问题描述】:

如何使用 ForEach 和 Filter 对数组进行排序并显示到控制台,首先需要显示所有姓氏,然后显示带有字母“F”的姓氏?我究竟做错了什么? '使用严格'; //https://reqres.in/api/users

fetch('https://reqres.in/api/users?per_page=12')
    .then((response) => {
       return  response.json();
    })
    .then((body) => {
        body?.data.forEach((item) => {
            console.log(item.last_name);
        })
        const filtered = body?.data.filter((item) => {
            return item.last_name === 'F';
            console.log(filtered);
        });
    console.log(filtered);
 });

【问题讨论】:

  • console.log(过滤);在过滤器块内的 return 之后......它永远不会被调用。
  • 在别处拨打电话后,没有任何反应(
  • 你的过滤器永远不会返回任何东西,除非这个人的名字是“F”你不是在看名字的第一个字母,你是在比较“F”和整个名字
  • 问题是首先你需要显示所有姓氏,然后只显示以字母“F”开头的姓氏,但是由于某种原因这不起作用(

标签: javascript filter foreach frontend


【解决方案1】:

你没有检查姓氏的第一个字母

fetch('https://reqres.in/api/users?per_page=12')
  .then((response) => {
    return response.json();
  })
  .then((body) => {
    const filtered = body?.data.filter((item) => {
      return item.last_name[0] === 'F';
    });
    console.log(filtered);
  });

【讨论】:

  • 问题是首先你需要显示所有姓氏,然后只显示以字母“F”开头的姓氏,但是由于某种原因这不起作用(
  • @DenisPrudnikov 我向您提供了有关为什么您的代码没有在控制台中返回任何内容的信息。我修复了上面的过滤器代码,以说明为什么它没有正确过滤掉。你可以放回你的 forEach 循环。
  • 你能展示如何恢复到 forEach 循环吗?
  • 您在代码中是如何做到的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多