前端歌谣的刷题之路-第九十四题-数组过滤
  Fuy6dnbn2ffz 2023年11月18日 50 0


 

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 本题目源自于牛客网 微信公众号前端小歌谣

题目

请补全JavaScript代码,要求将数组参数中的多维数组扩展为一维数组并返回该数组。
注意:
1. 数组参数中仅包含数组类型和数字类型

示例1

输入:

[1,[2,[3,[4]]]] 输出: [1,2,3


前端歌谣的刷题之路-第九十四题-数组过滤_补全

前端歌谣的刷题之路-第九十四题-数组过滤_补全_02编辑

 核心代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数组过滤</title>
</head>

<body>
  <select name="" id="">
    <option value="0">请选择销量范围</option>
    <option value="1"><100</option>
    <option value="2">100~500</option>
    <option value="3">>500</option>
  </select>
  <ul>
    <li>牛客logo马克杯</li>
    <li>无盖星空杯</li>
    <li>老式茶杯</li>
    <li>欧式印花杯</li>
  </ul>

  <script>
    var cups = [{
        type: 1,
        price: 100,
        color: 'black',
        sales: 60,
        name: '牛客logo马克杯'
      },
      {
        type: 2,
        price: 40,
        color: 'blue',
        sales: 100,
        name: '无盖星空杯'
      },
      {
        type: 4,
        price: 60,
        color: 'green',
        sales: 200,
        name: '老式茶杯'
      },
      {
        type: 3,
        price: 50,
        color: 'green',
        sales: 600,
        name: '欧式印花杯'
      }
    ]
    var select = document.querySelector('select');
    var ul = document.querySelector('ul');
    // 补全代码
    var cups = [{
        type: 1,
        price: 100,
        color: 'black',
        sales: 60,
        name: '牛客logo马克杯'
      },
      {
        type: 2,
        price: 40,
        color: 'blue',
        sales: 100,
        name: '无盖星空杯'
      },
      {
        type: 4,
        price: 60,
        color: 'green',
        sales: 200,
        name: '老式茶杯'
      },
      {
        type: 3,
        price: 50,
        color: 'green',
        sales: 600,
        name: '欧式印花杯'
      }
    ]
    var select = document.querySelector('select');
    var ul = document.querySelector('ul');
    // 补全代码
    select.onchange = function () {
      var index = select.selectedIndex;

      function show(arr) {
        let list = '';
        arr.forEach(function (v) {
          list += `<li>${v.name}</li>`
        })
        ul.innerHTML = list;
      }

      function choice(cups, index) {
        let resArr = cups.filter(function (v) {
          if (index == 1) {
            return v.sales < 100;
          } else if (index == 2) {
            return v.sales >= 100 && v.sales <= 500;
          } else if (index == 3) {
            return v.sales > 500;
          }
        })
        return resArr;
      }
      show(choice(cups, index));
    }
  </script>
</body>

</html>

前端歌谣的刷题之路-第九十四题-数组过滤_补全_03

总结

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数组过滤</title>
</head>

<body>
  <select name="" id="">
    <option value="0">请选择销量范围</option>
    <option value="1"><100</option>
    <option value="2">100~500</option>
    <option value="3">>500</option>
  </select>
  <ul>
    <li>牛客logo马克杯</li>
    <li>无盖星空杯</li>
    <li>老式茶杯</li>
    <li>欧式印花杯</li>
  </ul>

  <script>
    var cups = [{
        type: 1,
        price: 100,
        color: 'black',
        sales: 60,
        name: '牛客logo马克杯'
      },
      {
        type: 2,
        price: 40,
        color: 'blue',
        sales: 100,
        name: '无盖星空杯'
      },
      {
        type: 4,
        price: 60,
        color: 'green',
        sales: 200,
        name: '老式茶杯'
      },
      {
        type: 3,
        price: 50,
        color: 'green',
        sales: 600,
        name: '欧式印花杯'
      }
    ]
    var select = document.querySelector('select');
    var ul = document.querySelector('ul');
    // 补全代码
    var cups = [{
        type: 1,
        price: 100,
        color: 'black',
        sales: 60,
        name: '牛客logo马克杯'
      },
      {
        type: 2,
        price: 40,
        color: 'blue',
        sales: 100,
        name: '无盖星空杯'
      },
      {
        type: 4,
        price: 60,
        color: 'green',
        sales: 200,
        name: '老式茶杯'
      },
      {
        type: 3,
        price: 50,
        color: 'green',
        sales: 600,
        name: '欧式印花杯'
      }
    ]
    var select = document.querySelector('select');
    var ul = document.querySelector('ul');
    // 补全代码
    select.onchange = function () {
      var index = select.selectedIndex;

      function show(arr) {
        let list = '';
        arr.forEach(function (v) {
          list += `<li>${v.name}</li>`
        })
        ul.innerHTML = list;
      }

      function choice(cups, index) {
        let resArr = cups.filter(function (v) {
          if (index == 1) {
            return v.sales < 100;
          } else if (index == 2) {
            return v.sales >= 100 && v.sales <= 500;
          } else if (index == 3) {
            return v.sales > 500;
          }
        })
        return resArr;
      }
      show(choice(cups, index));
    }
  </script>
</body>

</html>

前端歌谣的刷题之路-第九十四题-数组过滤_html_04

总结

通过方法的调用实现数据的筛选操作 nice


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月18日 0

暂无评论

推荐阅读
  wURKzOHw9Irf   2023年12月24日   30   0   0 HTMLicoicohtml
  8l4CZpTOKa7P   2023年12月26日   40   0   0 htmlhtml
  dwHry2iKGG0I   2023年12月26日   31   0   0 githubgithubhtmlhtml
Fuy6dnbn2ffz