【电商】商品规格组合发布算法

电商,添加商品,商品的规格可以组合成不同的SKU也就是商品最小的货存单位。上代码:letarr=[[{1:'红色'},{1:'紫色'}],[{2:'S'},{2:'m'}],[{3:'圆领'},{3:'V领'},{3:'高领'}],];//笛卡尔乘积算法functionjx(arr){if(arr.length>1){letres=[];letitem=arr[0];arr.splice(0......

js 对象合并

1.jquery或者lodash中使用extend方法letobj={a:1,b:2}letobj1={c:3}//jquery$.extend(obj,obj1);//lodash_.extend(obj,obj1);2.使用es6object.assign()方法,深拷贝切记letobj={a:1,b:2};letobj1={c:3};//assginletobjs=Obj.assgin(ob......

vue 使用打印机打印数据 print-js

使用print-js打印机打印数据,打印方式很多种,请查看官方文档。(简单介绍json格式数据打印)1.安装print-jsnpminstall--saveprint-js2.在vue页面引入importprintfrom'print-js'3.准备要打印的数据(json)开始打印letarr=[{name:"小明",sex:"男"},{name:"小红",sex:"女"},];printJS({......

javascript 数组去重

javascript数组去重方式很多,这里只介绍下比较好的去重方法(学习思考)。一种:利用对象key实现去重functionunique(arr){if(!Array.isArray(arr)||arr.length<1){returnarr;}letn=[];leto={};for(leti=0,l=arr.length;i<l;i++){letval=arr[i];if(!o[va......

ES6 Generator 函数 简介

简介:Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。Generator函数有多种理解角度。从语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态。执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历Generator函数内部的每一个......

js 判断是移动端还是pc端 简单实用

在前端实际开发中我们会遇到这样的问题,判断是移动端还是pc端然后处理相对的逻辑。Navigator对象首先来了解一下Navigator对象,Navigator对象包含有关浏览器的信息,下面的userAgent属性是一个只读的字符串,声明了浏览器用于HTTP请求的用户代理头的值。所以我们可以通过判断navigator.useragent里面是否有某些值来判断,比如我的电脑是mac,所以打印出来的值为......

JavaScript 设计模式 之 代理模式

代理模式是为对象提供一个代用品或占位符,以便控制对它的访问。代理模式的关键是,当客户端不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户端实际上访问的是替身对象。替身对象对请求做出一些处理之后,在把请求转交给本体对象。例子1:代理实现图片预加载(虚拟代理)varmyImg=(function(){varimage=document.createElement(......

js 获取 数组 对象 及字符串 长度

想必大家都知道获取字符串的长度,使用length属性,同样数组也适用。varstr='hello';console.log(str.length);//输出6vararr=[1,2,3,4];console.log(arr.length);//输出4那么如果是对象呢,让我们看看输出是什么?vararr={a:1,b:2,c:3};console.log(arr.length);//输出undefi......

JavaScript 设计模式 之 策略模式

策略模式定义:定义一系列的算法,把它们一个个的封装起来,并且使用它们可以相互替换。案例1:计算员工的年终奖,绩效S的认年终奖为4倍工资,绩效A的认年终奖为3倍工资,绩效B的认年终奖为3倍工资。代码如下:varstrategies={"S":function(salary){returnsalary*4;},"A":function(salary){returnsalary*3;},"B":func......

JavaScript 设计模式 之 单例模式

在JavaScript里,实现单例的方式有很多种,其中最简单的一个方式是使用对象字面量的方法,其字面量里可以包含大量的属性和方法:varmySingleton={property1:"something",property2:"somethingelse",method1:function(){console.log('helloworld');}};如果以后要扩展该对象,你可以添加自己的私有成员......