前不久在参加面试的时候遇到了这样一道题,"写一个根据id字段查找记录的缓存函数,如果之前查过,则直接返回之前查找过的对象,而无须重新查找".当时由于时间较短加上时间比较紧张,考虑并不是特别全,并没有写出一个比较合适的方法(无法普及调用).今天回过头想了一下,做了一些改进,望大家多给与指点.思路上采用闭包和数组的find方法. var getItem=function () { var cacheArr=[]; //判断数组是否支持find方法,如果不支持则扩充 if (!Array.p
缓存是在web开发中经常用到的,将程序经常使用到或调用到的对象存在内存中,或者是耗时较长但又不具有实时性的查询数据放入内存中,在一定程度上可以提高性能和效率.下面我实现了一个简单的缓存,步骤如下. 创建缓存对象EntityCache.java public class EntityCache { /** * 保存的数据 */ private Object datas; /** * 设置数据失效时间,为0表示永不失效 */ private long ti
最近在学习es6,看到for-of这里,就想自己写着练习一下,于是就准备写一个小函数add来求和.函数很简单,如add(1,2,3)这样.于是我开始着手 一开始我是这么写的 function add(){ var result=0; for (var i = 0; i < arguments.length; i++) { result+=arguments[i] } return result } 啪啪啪马上就写好了,最基本的方法,不过好像太简单了,着手升级一下. 用数组的方法写一下 funct
先认识一下这几个名词 Moving Average (MA) 移动平均,或者叫做移动平均线,是技术分析中一种分析时间序列数据的工具.最常见的就是利用股价,回报或交易量等变数计算出移动平均.可以利用移动平均反映出长期趋势或周期,在数学上这个也叫做卷积 Rolling Average. 还有一个概念叫做 SMA (Simple Moving Average 简单移动平均),是指某个变数之前 N 个数值的累加平均.比如,收市价的10日简单移动平均是指之前10日收市价的平均数,那么这里就可以使用 SMA