题解 | #购物面板#

购物面板

https://www.nowcoder.com/practice/1448469386f746f5941db2712372f373

基于arr的写法

let trArr = Array.from(document.querySelectorAll("tr")).filter(
    (_, i, arr) => i < arr.length - 1
);
let itemArr = trArr.map((e) => ({
    price: parseInt(e.querySelectorAll("td")[1].innerText), // 价格
    count: 0, // 总数
}));

const _dataReLoad = () => {
    total.innerHTML = itemArr.reduce((a, e) => a + e.count * e.price, 0); // 求和
};

trArr.forEach((e, i) => {
    let count = e.querySelector("span");
    let buttons = e.querySelectorAll("button");
    let itemObj = itemArr[i];

    buttons[0].onclick = function () {
        if (itemObj.count <= 0) {
            itemObj.count = 0;
            return;
        }
        itemObj.count--;
        count.innerText = itemObj.count;
        _dataReLoad();
    };

    buttons[1].onclick = function () {
        itemObj.count++;
        count.innerHTML = itemObj.count;
        _dataReLoad();
    };
});

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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