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;
};