#yyds干货盘点# 前端歌谣的刷题之路-第九十四题-数组过滤

简介: #yyds干货盘点# 前端歌谣的刷题之路-第九十四题-数组过滤

题目

请补全JavaScript代码,要求将数组参数中的多维数组扩展为一维数组并返回该数组。

注意:

1. 数组参数中仅包含数组类型和数字类型

示例1

输入:

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

image.png

编辑

核心代码

<!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>

总结

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

相关文章
|
8月前
|
前端开发 Java
java前端:删除数组中指定元素的方法
java前端:删除数组中指定元素的方法
119 1
|
8月前
|
JSON JavaScript 前端开发
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
184 0
|
5月前
|
前端开发 JavaScript 开发者
【前端开发者的福音】彻底改变你编码习惯的神奇数组迭代技巧——从基础到进阶,解锁 JavaScript 数组迭代的N种姿势!
【8月更文挑战第23天】在Web前端开发中,数组是JavaScript中最常用的数据结构之一,掌握高效的数组迭代方法至关重要。本文详细介绍了多种数组迭代技巧:从基础的`for`循环到ES6的`for...of`循环,再到高阶方法如`forEach`、`map`、`filter`、`reduce`及`some`/`every`等。这些方法不仅能提高代码的可读性和维护性,还能有效优化程序性能。通过具体的示例代码,帮助开发者更好地理解和运用这些迭代技术。
54 0
|
3月前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
3月前
|
人工智能 前端开发 JavaScript
拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析
本文介绍了前端开发中遇到的奇怪报错问题,特别是当错误信息不明确时的处理方法。作者分享了自己通过还原代码、试错等方式解决问题的经验,并以一个Vue3+TypeScript项目的构建失败为例,详细解析了如何从错误信息中定位问题,最终通过解读错误信息中的ASCII码找到了具体的错误文件。文章强调了基础知识的重要性,并鼓励读者遇到类似问题时不要慌张,耐心分析。
|
3月前
|
JSON 前端开发 数据格式
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
文章详细讲解了在SpringMVC中如何使用`@RequestMapping`进行路由映射,并介绍了前后端参数传递的多种方式,包括传递单个参数、多个参数、对象、数组、集合以及JSON数据,并且涵盖了参数重命名和从URL中获取参数的方法。
312 0
@RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)
|
8月前
|
前端开发 JavaScript
前端 js 经典:数组常用方法总结
前端 js 经典:数组常用方法总结
59 0
|
5月前
|
存储 前端开发 JavaScript
【前端学java】一篇文章带你精通java 中的数组(10)
【8月更文挑战第10天】一篇文章带你精通java 中的数组
21 3
【前端学java】一篇文章带你精通java 中的数组(10)
|
4月前
|
前端开发 JavaScript
前端基础(十六)_数组对象
本文详细介绍了JavaScript中数组对象的创建和操作方法,包括数组的增删改查、排序、去重、迭代等常用操作。
28 0
|
5月前
|
存储 前端开发 JavaScript
数组操作大揭秘:Web前端开发者必备技能!
【8月更文挑战第23天】本文介绍了JavaScript中数组的基本操作方法,包括创建、添加、删除元素、获取数组长度与特定索引的元素、修改元素以及判断元素是否存在等。此外还展示了如何利用 `concat()` 方法或扩展运算符合并数组。这些实用示例有助于前端开发者更好地理解和应用数组。
37 0

热门文章

最新文章