首页 > 其他分享 >前端歌谣的刷题之路-第八十一题-数组排序

前端歌谣的刷题之路-第八十一题-数组排序

时间:2023-11-13 12:05:29浏览次数:28  
标签:八十一 name color price sales var 排序 type 刷题


 

前言

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

题目

请补全JavaScript代码,根据预设代码中的数组,实现以下功能:
1. 列表只展示数组中的name属性
2. 实现点击"销量升序"按钮,列表内容按照销量升序重新渲染
3. 实现点击"销量降序"按钮,列表内容按照销量降序重新渲染
注意:
1. 必须使用DOM0级标准事件(onclick)

前端歌谣的刷题之路-第八十一题-数组排序_html

前端歌谣的刷题之路-第八十一题-数组排序_html_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>
  <button class='up' onclick="changeUp()">销量升序</button>
  <button class='down' onclick="changeDown()">销量降序</button>
  <ul></ul>
<!-- 请补全JavaScript代码,根据预设代码中的数组,实现以下功能:
1. 列表只展示数组中的name属性
2. 实现点击"销量升序"按钮,列表内容按照销量升序重新渲染
3. 实现点击"销量降序"按钮,列表内容按照销量降序重新渲染
注意:
1. 必须使用DOM0级标准事件(onclick) -->
  <script>
    
      var cups = [
          { type: 1, price: 100, color: 'black', sales: 3000, name: '牛客logo马克杯' },
          { type: 2, price: 40, color: 'blue', sales: 1000, name: '无盖星空杯' },
          { type: 4, price: 60, color: 'green', sales: 200, name: '老式茶杯' },
          { type: 3, price: 50, color: 'green', sales: 600, name: '欧式印花杯' }
      ]
      var ul = document.querySelector('ul');
      var upbtn = document.querySelector('.up');
      var downbtn = document.querySelector('.down');
      // 补全代码
      upbtn.onclick = function(){
                ul.innerHTML = ''
                cups.sort(function(a,b){
                    return a.sales - b.sales;
                })
               
                for(let i =0;i <cups.length;i++){
                    let li = document.createElement('li');
                    li.innerHTML  = `${cups[i].name}`
                    ul.appendChild(li)
                }
            }
            downbtn.onclick = function(){
                ul.innerHTML = '';
                cups.sort(function(a,b){
                    return b.sales - a.sales;
                })
               
                for(let i =0;i <cups.length;i++){
                    let li = document.createElement('li');
                    li.innerHTML  = `${cups[i].name}`
                    ul.appendChild(li)
                }
            }
      
  </script>
</body>
</html>

前端歌谣的刷题之路-第八十一题-数组排序_数组_03

总结

利用sort进行排序 根据对应的场景赋值不同的值 nice


标签:八十一,name,color,price,sales,var,排序,type,刷题
From: https://blog.51cto.com/u_14476028/8340305

相关文章

  • 前端歌谣的刷题之路-第八十二题-新数组
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网微信公众号前端小歌谣题目......
  • 【刷题笔记】108. Convert Sorted Array to Binary Search Tree
    题目Givenanarraywhereelementsaresortedinascendingorder,convertittoaheightbalancedBST.Forthisproblem,aheight-balancedbinarytreeisdefinedasabinarytreeinwhichthedepthofthetwosubtreesof every nodeneverdifferbymorethan......
  • 归并排序C++实现
    把归并排序看作二叉树的后序遍历的确是一种好的思路,使代码的逻辑更加清晰。但是具体实现还是遇到了很多的困难。有太多报错,自己也觉得有些莫名其妙。但是事后看来,大多数还是自己粗心所致。以后都可以采用这个框架来处理需要归并排序的问题。classSolution{public:vect......
  • 牛客sql刷题
    一、非技术快速入门https://www.nowcoder.com/exam/oj?page=1&tab=SQL篇&topicId=199题目记录:SQL34统计复旦用户8月练题情况题目结果代码:selectup.device_id,'复旦大学'asuniversity,count(question_id)asquestion_cnt,#计算做对的题目的个......
  • 力扣2578 排序后两个数依次选择
    2578. 最小和分割隔空依次取值,相加最小,原理暂不清楚,举例演示就可发现。classSolution{public:intsplitNum(intnum){intnum1=0,num2=0;vector<int>a;while(num){a.push_back(num%10);num/=10;}......
  • 第 117 场双周赛(容斥原理,记忆化搜索,排序)
     本题我们采用隔板法+容斥原理来解决合格总方案数=总方案书-不合理的方案数=不考虑limit的方案数-不合法方案数(至少有一个小朋友>limit)任意方案数n个小球放到3个盒子中->n+2个位置,选两个位置放隔板剩下位置放球c(n+2,2)三个小朋友为:甲乙丙小朋友甲(乙丙)>l......
  • 排序
    //直接插入排序voidInsertSort(intA[],intlen){ for(inti=2;i<=len;i++){ if(A[i]<A[i-1]){ A[0]=A[i]; for(intj=i-1;A[0]<a[j];j--){ A[j+1]=A[j]; } A[j+1]=A[0]; } }}//折半插入排序voidinsertSort(intA[],intlen){ intl......
  • P1926 小书童——刷题大军
    这个题目挺有意思的,有点贪心思想,就是要把更多的时间留给刷题,所以要把01背包改成取min,所以要把dp[i]先预处理成0x3f无穷大,然后把刷题时间排个序,这要就是最佳的答案。#include<bits/stdc++.h>usingnamespacestd;inta[20],b[20],c[20];intf[100];intmain(){ intn,m,k,r......
  • I 排序
    ADescription:一叠卡牌有\(n\)张,每张卡牌上面写有一个数字,从上往下数第\(i\)张卡牌上面写的数字为\(a_i\),每张卡牌上面写的数字互不相等,并且数字都在\([1,n]\)的范围内。现在要把卡牌整理成顺序卡牌(卡牌堆从上到下第\(i\)张卡牌上面写着数字\(i\))。可是这叠卡牌......
  • MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录
    使用ORDERBY进行排序使用ORDERBY语句按升序或降序对结果进行排序。ORDERBY关键字默认按升序排序。要按降序排序结果,使用DESC关键字。示例按名称按字母顺序排序结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusernam......