题解 | #数组排序#

    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');
      // 补全代码

      let mappedCups;

      // 闭包存储变量(也可以使用面向对象)
      function _mapCups() {
        let _mappedCups;
        function fn() {
          _mappedCups = cups.map((cup) => {
            return { sales: cup.sales, name: cup.name };
          });

          return _mappedCups;
        }

        return fn;
      }

      mappedCups = _mapCups()();

      window.onload = function () {
        const html = mappedCups.reduce((prev, curr) => {
          const returns = prev + `<li>${curr.name}</li>`;
          return returns;
        }, '');

        ul.innerHTML = html;
      };

      upbtn.onclick = function () {
        mappedCups = mappedCups.sort((a, b) => {
          return a.sales - b.sales;
        });

        const html = mappedCups.reduce((prev, curr) => {
          const returns = prev + `<li>${curr.name}</li>`;
          return returns;
        }, '');

        ul.innerHTML = html;
      };

      downbtn.onclick = function () {
        mappedCups = mappedCups.sort((a, b) => {
          return b.sales - a.sales;
        });

        const html = mappedCups.reduce((prev, curr) => {
          const returns = prev + `<li>${curr.name}</li>`;
          return returns;
        }, '');

        ul.innerHTML = html;
      };     

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-23 13:41
求求各位大佬
gtgt..:硕士怎么会把简历写成这样
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-21 17:59
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务