学习记录-js基础-购物车数据处理

JavaScript入门指南:从基础语法到现代开发实践 JavaScript作为Web开发的核心语言,通过解释执行实现动态网页交互。其基于原型链的继承机制和事件驱动模型,支撑了从前端DOM操作到后端Node.js的全栈开发能力。在工程实践中,ES6模块化、Promise异步处理和TypeScript类型系统等技术大幅提升了代码质量。当前热门的React/Vue框架和Webpack/Vite构建工具,都建立在JavaScript生态之上。通过掌握闭包、原型链等核心概念,开发者能高效实现电商动态加载、实时聊天等常见业务场景。学习JavaScript建议从Chrome 阅读详情

购物车数据处理功能描述

  1. 可以将得到的数据渲染到页面上
  2. 对数据进行处理,改变格式,并能根据单价算出总价

实现效果

在这里插入图片描述

购物车数据处理实现步骤

1. 准备阶段

了解数组,对象,字符串的常用方法

代码含义
数组.join(‘符号’)将数组以自定义符号连接成字符串
字符串.split(‘符号’)将字符串以自定义符号分成数组
Object.keys(对象)获取对象中所有的属性名,并返回到一个数组中
Object.values(对象)获取对象中所有的属性值,并返回到一个数组中
数组.reduce((prev,next)=>prev+next,初始值)将数组中的所有值相加在一起,返回一个数,如果初始值不为零,则额外加一个初始值,初始值不能不写
数字.toFixed(num)让数字保留num位小数

获得初始数据

    const goodsList = [
            {
                id: '4001172',
                name: '称心如意手摇咖啡磨豆机咖啡豆研磨机',
                price: 289.9,
                picture: 'https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg',
                count: 2,
                spec: { color: '白色' }
            },
            {
                id: '4001009',
                name: '竹制干泡茶盘正方形沥水茶台品茶盘',
                price: 109.8,
                picture: 'https://yanxuan-item.nosdn.127.net/2d942d6bc94f1e230763e1a5a3b379e1.png',
                count: 3,
                spec: { size: '40cm*40cm', color: '黑色' }
            },
            {
                id: '4001874',
                name: '古法温酒汝瓷酒具套装白酒杯莲花温酒器',
                price: 488,
                picture: 'https://yanxuan-item.nosdn.127.net/44e51622800e4fceb6bee8e616da85fd.png',
                count: 1,
                spec: { color: '青色', sum: '一大四小' }
            },
            {
                id: '4001649',
                name: '大师监制龙泉青瓷茶叶罐',
                price: 139,
                picture: 'https://yanxuan-item.nosdn.127.net/4356c9fc150753775fe56b465314f1eb.png',
                count: 1,
                spec: { size: '小号', color: '紫色' },
                gift: '50g茶叶,清洗球'
            }
        ]

html框架

  <div class="list">
        <!-- <div class="item">
      <img src="https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg" alt="">
      <p class="name">称心如意手摇咖啡磨豆机咖啡豆研磨机 <span class="tag">【赠品】10优惠券</span></p>
      <p class="spec">白色/10寸</p>
      <p class="price">289.90</p>
      <p class="count">x2</p>
      <p class="sub-total">579.80</p>
    </div> -->
    </div>
    <div class="total">
        <div>合计:<span class="amount">1000.00</span></div>
    </div>

2. 数据渲染

使用map等方法将数据映射到页面对应位置中,并将部分数据进行简单的加工,处理,最后返回到页面中

  1. 赠品并不是每个数组对象都有,需要提前进行判断
  2. 在进行数据处理时,要考虑小数精度问题,有小数要提前转换为整数在进行运算
		let sum = 0					//方便计算总值
        const arr1 = goodsList.map(item => {
            sum = goodsList.reduce((acc, item) => acc + (item.price * item.count*100)/100, 0).toFixed(2)				//使用reduce函数计算总价钱,考虑小数的精度问题
            return `<div class="item">						//map方法返回的是由返回值组成的数组
                <img src="${item.picture}" alt="">
                <p class="name">${item.name}${item.gift ? item.gift.split(',').map(item => `<span class="tag">【赠品】${item}</span>`).join('') : ''}</p>		//使用三元运算符判断gift是否为空
                <p class="spec">${Object.values(item.spec).join('/')}</p>		//获取对象的属性值,并将其用符号拼接在一起
                <p class="price">${item.price.toFixed(2)}</p>		
                <p class="count">x${item.count}</p>
                <p class="sub-total">${(item.price * item.count).toFixed(2)}</p>			//保留两位小数
                </div>`})
        document.querySelector('.list').innerHTML = arr1.join('')
        document.querySelector('.total .amount').innerHTML = sum

完整实例代码

<!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>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .list {
            width: 990px;
            margin: 100px auto 0;
        }

        .item {
            padding: 15px;
            transition: all .5s;
            display: flex;
            border-top: 1px solid #e4e4e4;
        }

        .item:nth-child(4n) {
            margin-left: 0;
        }

        .item:hover {
            cursor: pointer;
            background-color: #f5f5f5;
        }

        .item img {
            width: 80px;
            height: 80px;
            margin-right: 10px;
        }

        .item .name {
            font-size: 18px;
            margin-right: 10px;
            color: #333;
            flex: 2;
        }

        .item .name .tag {
            display: block;
            padding: 2px;
            font-size: 12px;
            color: #999;
        }

        .item .price,
        .item .sub-total {
            font-size: 18px;
            color: firebrick;
            flex: 1;
        }

        .item .price::before,
        .item .sub-total::before,
        .amount::before {
            content: "¥";
            font-size: 12px;
        }

        .item .spec {
            flex: 2;
            color: #888;
            font-size: 14px;
        }

        .item .count {
            flex: 1;
            color: #aaa;
        }

        .total {
            width: 990px;
            margin: 0 auto;
            display: flex;
            justify-content: flex-end;
            border-top: 1px solid #e4e4e4;
            padding: 20px;
        }

        .total .amount {
            font-size: 18px;
            color: firebrick;
            font-weight: bold;
            margin-right: 50px;
        }
    </style>
</head>

<body>
    <div class="list">
        <!-- <div class="item">
      <img src="https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg" alt="">
      <p class="name">称心如意手摇咖啡磨豆机咖啡豆研磨机 <span class="tag">【赠品】10优惠券</span></p>
      <p class="spec">白色/10寸</p>
      <p class="price">289.90</p>
      <p class="count">x2</p>
      <p class="sub-total">579.80</p>
    </div> -->
    </div>
    <div class="total">
        <div>合计:<span class="amount">1000.00</span></div>
    </div>
    <script>
        const goodsList = [
            {
                id: '4001172',
                name: '称心如意手摇咖啡磨豆机咖啡豆研磨机',
                price: 289.9,
                picture: 'https://yanxuan-item.nosdn.127.net/84a59ff9c58a77032564e61f716846d6.jpg',
                count: 2,
                spec: { color: '白色' }
            },
            {
                id: '4001009',
                name: '竹制干泡茶盘正方形沥水茶台品茶盘',
                price: 109.8,
                picture: 'https://yanxuan-item.nosdn.127.net/2d942d6bc94f1e230763e1a5a3b379e1.png',
                count: 3,
                spec: { size: '40cm*40cm', color: '黑色' }
            },
            {
                id: '4001874',
                name: '古法温酒汝瓷酒具套装白酒杯莲花温酒器',
                price: 488,
                picture: 'https://yanxuan-item.nosdn.127.net/44e51622800e4fceb6bee8e616da85fd.png',
                count: 1,
                spec: { color: '青色', sum: '一大四小' }
            },
            {
                id: '4001649',
                name: '大师监制龙泉青瓷茶叶罐',
                price: 139,
                picture: 'https://yanxuan-item.nosdn.127.net/4356c9fc150753775fe56b465314f1eb.png',
                count: 1,
                spec: { size: '小号', color: '紫色' },
                gift: '50g茶叶,清洗球'
            }
        ]
        // 数据渲染
        let sum = 0
        const arr1 = goodsList.map(item => {
            sum = goodsList.reduce((acc, item) => acc + item.price * item.count, 0).toFixed(2)
            return `<div class="item">
                <img src="${item.picture}" alt="">
                <p class="name">${item.name}${item.gift ? item.gift.split(',').map(item => `<span class="tag">【赠品】${item}</span>`).join('') : ''}</p>
                <p class="spec">${Object.values(item.spec).join('/')}</p>
                <p class="price">${item.price.toFixed(2)}</p>
                <p class="count">x${item.count}</p>
                <p class="sub-total">${(item.price * item.count).toFixed(2)}</p>
                </div>`})
        document.querySelector('.list').innerHTML = arr1.join('')
        document.querySelector('.total .amount').innerHTML = sum
    </script>
</body>

</html>
HTML5点击添加商品购物车完整实现 v1.0 HTML5作为新一代超文本标记语言标准,极大推动了Web应用的发展。相较于HTML4,它不仅增强了语义化结构(如<header><footer><article>等标签),还内建支持多媒体元素(如<audio>和<video>标签),无需依赖第三方插件即可实现丰富的交互体验。此外,HTML5引入了本地存储(Web Storage)、Canvas绘图、表单验证增强、离线应用(Application Cache)等关键技术,使网页应用具备更强的本地化能力和用户体验。 阅读详情

相关推荐

抖音自定义卡片链接(图文链接)

抖音自定义可以自定义标题,打开链接,和展示图片 效果 主要代码 public void sendMessage(String conversationId, Object aBaseContent) throws Exception { // C233282u5.LIZIZ.LIZ().LIZIZ(LIZ).LIZ(obtain).LIZ(hLn).LIZ((AbstractC59811HHc) new H9Q()); Object HOa = ReflectionUtil

傅恒的博客 4140

javaScript购物车案例

【代码】javaScript购物车案例。

2503_90189180的博客 269

AlphaFold2算法详解

正文:https://www.nature.com/articles/s41586-021-03819-2 补充文件:https://static-content.springer.com/esm/art%3A10.1038%2Fs41586-021-03819-2/MediaObjects/41586_2021_3819_MOESM1_ESM.pdfhttps://static-content.springer.com/esm/art%3A10.1038%2Fs41586-021-03819-2/Med

Daisy4的博客 1万+

JS forEach实战:电商购物车数据处理案例

它的在线编辑器响应很快,内置的DeepSeek模型能智能补全代码,遇到问题还可以实时调试。最方便的是,完成后的购物车页面可以直接一键部署,立即生成可访问的URL分享给同事测试。先用forEach遍历商品数组,计算每个商品的小计金额。今天在开发电商网站时,遇到了一个很实际的需求:处理购物车里的商品数据。正好用到了JavaScript中非常实用的forEach方法,记录一下整个实现过程和踩过的坑。整个开发流程比本地搭建环境要顺畅很多,特别是需要快速验证想法的时候,省去了配置项目的繁琐步骤。

NightshadeRaven21的博客 521

EndNote全文检索实战:如何快速配置学校图书馆资源并精准查找文献

本文详细介绍了EndNote全文检索功能的实战配置方法,核心在于通过正确设置OpenURL链接解析器,无缝对接学校图书馆资源,实现一键精准获取文献全文。文章提供了从理解机制、四步配置法到进阶技巧的完整指南,帮助科研人员高效管理海量PDF,构建个人知识体系,大幅提升文献调研与写作效率。

weixin_29228781的博客 279

5分钟搞定!Unity中Matcap玻璃材质快速实现(含免费贴图资源)

本文详细介绍了在Unity中快速实现Matcap玻璃材质的方法,从技术原理到实战操作,包括Shader编写、参数调节和性能优化。通过Matcap技术,开发者可以高效创建逼真玻璃效果,特别适合移动端和快速迭代项目。文章还提供了免费贴图资源和进阶优化技巧,帮助提升视觉效果和运行效率。

a1b2c的博客 219

2021-06-08 购物车

效果: 在商品选购列表中选中的商品可以在购物车页面中同步看到,购物车有添加增减商品数量和删除商品功能 思路: 代码:   商品列表页:list.html     html: 在这里插入代码片     css: 在这里插入代码片     js: 引入 good.js文件 class List{ constructor(){ this.cont=document.

GAARA 1076

Roboflow 与 YOLOv11 数据集全流程:从获取到训练,让你数据无忧

上传图像:点击“Upload”按钮,批量上传本地图像(支持 JPG、PNG 格式,单张最大 10MB)。智能标注:利用 Roboflow 的“Auto-Annotate”功能,基于预训练模型自动生成标注,再手动微调,标注效率提升 70%。格式导出:标注完成后,同样选择“YOLOv11”格式导出,流程与公开数据集一致。

m0_71589036的博客 271

(JavaScript学习记录):jQuery 元素操作

写在前面:参考哔哩哔哩黑马程序员pink老师教程 地址:https://www.bilibili.com/video/BV1Sy4y1C7ha?t=41&p=4 目录 jQuery 元素操作 遍历元素 案例:购物车案例模块-计算总计和总额 创建元素 添加元素 内部添加 外部添加 删除元素 案例:购物车案例模块-删除商品模块 案例:购物车案例模块-选中商品添加背景 jQuery 元素操作 主要是遍历、创建、添加、删除元素操作。 遍历元素 jQuery 隐式迭代.

baidu_41388533的博客 279

顶刊论文引言用AI怎么写?借助Gemini 3 Pro结合四段式写出逻辑清晰的Introduction

写研究目标时,先明确研究问题,直接回应前文提到的研究缺口,如 “This study aims to investigate whether X modulates Y via the Z pathway in human cells.”然后再提出你的研究假设,当理论依据清晰时,可以用如 “We hypothesized that inhibiting X would rescue Y deficiency in this model.”的句子点出研究目标。要求:1)明确陈述本研究拟解决的核心科学问题;

智能AI让学术科研更容易 180

用 ABAP RAP + XCO 把 Excel 导入业务对象:从弹窗 Action 到 EML 落库与附件清理的完整实践

摘要:本文介绍了在SAP RAP框架下实现Excel批量导入功能的完整方案。通过XCO库的XLSX模块解析Excel文件,结合RAP的行为定义和Fiori Elements界面集成,构建了一个支持试运行、数据校验和自动合并的业务导入功能。方案采用RAP标准范式,包括Action参数设计、EML事务处理、附件管理以及异常消息反馈,实现了从文件上传到数据落库的端到端流程,既保证了系统稳定性,又提升了业务用户体验。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 275

微信小程序 —— 购物车加减

wxml 部分: &lt;view class='reduce mr20'&gt; &lt;image class='reduceImg' src='http://image-ibeef.oss-cn-qingdao.aliyuncs.com/miniProgram/shop/reduce.png' mode="widthFix" style='width: 35rpx;' bind...

weixin_43037740的博客 3685

UFS总体介绍及FPGA开发

通过实现UFS的主控制器、设备控制器等组件,我们可以在FPGA上进行UFS开发,并实现高速数据传输和低功耗特性的存储解决方案。物理层负责传输物理信号,数据链路层提供数据包的传输和错误检测功能,传输层处理数据包的分段、重组和重传,逻辑层管理设备和主控制器之间的命令和数据传输,文件系统层负责文件管理和数据存储。在本文中,我们将介绍UFS的总体架构和特性,并探讨如何在FPGA上进行UFS开发。这些组件的实现涉及到UFS协议的具体细节和硬件平台的特性,因此需要参考UFS协议规范和FPGA开发平台的相关文档。

PodProgram的博客 2135

html 京东购物车样式,购物车css样式效果

购物车效果body {background: black;}nav {width: 120px;height: 40px;background: #ccc;margin-left: 300px;position: relative;}nav a {display: block;width: 100%;height: 100%;transition: 0.1s 1s;/*鼠标移开*/}nav:hov...

weixin_29219189的博客 1056

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Vue3+TypeScript 学习记录02

笔者最近在学习李一鸣老师著的《Vue.js3+TypeScript从入门到项目实践》,02会陆续更新。

mild_breeze的博客 1080

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

php购物车修改单价,vuejs+elementui 购物车价格计算,点击加减号修改数量总价都不会改变,但是计算执行了...

一个商品下单的功能查出所有商品,点击下单,然后把下单的商品加入购物车,购物车是不用保存的商品可以修改数量,计算总价,现在我method里面的计算执行了,但是页面点击加减号的时候,数量和总价就是不会变,查询出来的数据列表里面,没有数量和总价这两个字段,这里是我自己定义的库存{{scope.row.num}}件count: undefined,totalPrice: 0,//下单商品列表getCart...

weixin_35078004的博客 415

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

如何选择最优数据结构:JS-SDSL在电商、游戏和实时系统中的实战应用指南

JS-SDSL是一个基于C++ STL实现的JavaScript标准数据结构库,为前端和后端开发者提供了高性能、类型安全的数据结构解决方案。在实际项目中,选择合适的数据结构能显著提升应用性能,本文将深入探讨JS-SDSL在三大场景中的实战应用案例。 ## 🛍️ 电商系统:数据结构如何优化购物体验 ### 购物车管理:Vector与HashMap的完美组合 在电商平台中,购物车是最核心的功能之

gitblog_01033的博客 664

跨境电商购物小程序开发--JavaScript快速搭建

随着互联网技术的发展和全球化的推进,跨境电商已经成为越来越多企业和消费者的选择。安装npm:npm是Node.js的包管理器,用于安装和管理JavaScript库和工具。数据库:跨境电商购物小程序需要存储和管理大量数据,选择合适的数据库至关重要。完成跨境电商购物小程序的开发后,需要进行测试和优化,以确保程序的稳定性和性能。后端接口测试:测试后端接口的正确性和性能,包括参数校验、异常处理、安全性和性能等。安装框架:选择适合跨境电商购物小程序的框架,并按照官方文档进行安装和配置。

2301_79072569的博客 684

购物车 组件全局注册 路由返回处理

App.vue <transition :name="transitionName"> <router-view class="child-view"/> </transition> <cube-tab-bar v-model="selectLabel" :data="tabs" @change="changeHandler"> ...

weixin_43852916的博客 223

设计模式(8)[JS版]-JavaScript设计模式之如何实现适配器模式???

目录 1 什么是适配器模式? 2 参与者 3 实例讲解 4 其它应用 5 总结 1 什么是适配器模式? 适配器模式是将一个接口(对象的属性和方法)转换为另一个接口。适配器允许编程组件协同工作,否则由于接口不匹配而无法协同工作。适配器模式也称为包装器模式。 适配器模式可以想象为我们日常生活中经常使用的接口转换器,实现两个或者多个不同的数据存储器进行数据交换,适配各自不同数据输出口的工具。适配器适用于客户系统期待的接口与现有API提供的接口不兼容这种场合。它只能用来协调语法上的差异问题。适配器.

AlbertYang的博客 6947

专栏简介:从入门到精通 JavaScript 1000例实战开发

本专栏旨在为开发者提供一套系统化的学习路径,帮助从零基础到精通JavaScript编程语言。通过1000个经典且实用的案例,涵盖前端开发、后端开发以及全栈开发领域,读者将全面掌握JavaScript的核心概念与实际应用。专栏特色循序渐进的学习体系从基础语法到高级特性,逐步深入讲解JavaScript的关键知识点。包括变量、数据类型、函数、对象、数组、ES6+新特性等内容。丰富的实战案例提供1000个真实项目中提炼的代码示例,涉及网页交互、动画效果、数据处理、API调用等场景。

MHD0815的博客 265

5个实际项目中必用的JS splice技巧

不过也要注意,正是因为会修改原数组,在使用不可变数据的场景下要谨慎。这个平台可以直接在浏览器里运行代码,还能一键部署成可分享的演示项目,特别适合用来测试和展示这类前端技巧。具体做法是先确定要修改的起始索引,然后指定要替换的元素数量和新的数据。我们可以根据商品的唯一ID或索引位置,精准地移除指定项,同时还能获取被移除的商品信息,方便后续操作。方法,作为一个强大的数组操作工具,经常能在各种场景下帮我们简化代码逻辑。这种原地修改的方式,配合前端框架的响应式特性,能让UI更新更加高效。通过这些实际案例可以看出,

AgatePanther34的博客 1027

电商购物车系统卖家端技术实现:从数据管控到转化赋能

可视化实现:前端使用ECharts构建“加购趋势图”(折线图)、“放弃率对比图”(柱状图)、“用户标签分布饼图”,支持卖家按“时间范围(近7天/30天)、商品分类”筛选数据,同时提供“数据导出”功能(Excel格式)。对于电商技术团队而言,卖家端购物车系统的迭代需持续贴近“卖家运营场景”(如新增“预售商品加购管控”“跨店凑单数据分析”),同时平衡“数据实时性”与“系统稳定性”,让技术真正成为卖家提升业绩的“助推器”。// 统计购物车总数量。

2301_82237050的博客 721

探索Vue.js的魅力:基于Vue.js的移动端购物商城网站资源推荐

探索Vue.js的魅力:基于Vue.js的移动端购物商城网站资源推荐 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 你是否正在寻找一个既能学习Vue.js框架,又能实际应用到移动端购物商城开发的完整项目资源?那么,这个基于Vue.js的移动端购物商城网站资源将是你的不二之选。该项目不仅提供了完整的源码和数据库文件,还附带了详细的实验报告,帮助你深入理解项目的开发过程和...

gitblog_09722的博客 919

web开发流程,JavaScript基础面试题

Redis常用的数据类型 Redis的五种常用的数据类型分别是:String、Hash、List、Set和Sorted set Redis的使用场景 1.Counting(计数) 2.展示最近、最热、点击率最高、活跃度最高等等条件的top list 3.用户最近访问记录也是redis list的很好应用场景 4.通过list的lpop及lpush接口进行队列的写入和消费 5.Redis 的Lua的功能扩展实际给Redis带来了更多的应用场景,你可以编写若干command组合作为一个小型的非阻塞事务或者更新

m0_60196730的博客 147

TOP项目挑战:30天完成10个JavaScript实战项目的完整指南

GitHub推荐项目精选(cu/curriculum)是The Odin Project的课程大纲和教材资源库,提供了丰富的Web开发学习资源,涵盖HTML、CSS、JavaScript以及Ruby on Rails等多种技术栈。本指南将带你在30天内完成10个精选JavaScript实战项目,从基础到进阶,全面提升你的JavaScript编程技能。 ## 为什么选择30天JavaScript项

gitblog_00381的博客 408
上一篇: 学习记录-js基础-商品放大镜
下一篇: 学习记录-css&js-综合复习案例(一)
努力的飛杨
博客等级 码龄3年 222粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值