大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

ES6几个好用的数组操作方法

ES6几个好用的数组操作方法 Array.from() :将json数组格式转换成数组 // 这是json数组的格式,注意: // key 必须是数字 // json 的结尾必须写明 json 的长度 let json = { '0' : '123456', '1' : '123456', '2' : '123456', length:3 } // 将json数组转换成数组的格式 let arr = Array.from(json) console.log(arr) find() 示例方法,用于查找数组内的某个元素 let arr = ['liu','yuan','wai']; let list = arr.entries(); console.log(list.next().

学会在组件中使用v-mode

学会在组件中使用v-mode 往往组件拆分需要负责数据的传递,通常会通过自定义事件来数据交互,但是如果使用v-module来做数据的交互,这样也许会简单很多。 子组件UserInfo.vue export default { props: { value: { type: String

ES6 系列之 Generator 的自动执行

result.value(next);== 'function') return resolve(gen) onFulfilled(); co 如果我们再将这个启动器函数写的完善一些,我们就相当于写了一个 co,实际上,上面的代码确实是来自于 co…… 而 co 是什么? co 是大神 TJ Holowaychuk 于 2013 年 6 月发布的一个小模块,用于 Generator 函数的自动执行。 如果直接使用 co 模块,这两种不同的例子可以简写为: // yield 后是一个 Promise var fetch = require('node-fetch');

Redis 和 Springboot基础整合

Redis 和 Springboot基础整合 思路 使用string存储。如果需要存储对象,建议将对象转为json字符串再存储。 环境 框架 Springboot spring-boot-starter-parent版本:1.set(key, value);put(key, hashKey, value); } /** * 将元素value从一个集合移到另一个集合 * * @param key * @param value * @param destKey * @return */ public Boolean sMove(String key, String value, String destKey) { return redisTemplate.opsForSet().score(key, value);

从零开始学 Kotlin 之「1」基础篇

reversed() val range1 = 10 downTo 1 也可以创建给区间创建步长 val range = 1..10 step 2 for (i in range){ print("$i ") } //输出 1 3 5 7 9 灵活的 Kotlin 甚至可以直接创建字母的区间 val range3 = 'a'.png 欢迎关注本文作者,这个系列的文章会首发在这里: image 扫码关注 + 回复「kotlin」,获取我整理的最新版 Kotlin 学习视频。

第6章 扩展函数与属性

第6章 扩展函数与属性 第6章 扩展函数与属性 在使用Java的时候,我们经常使用诸如StringUtil, DateUtil等等一堆工具类,代码写起来也比较冗长。举个例子,获取一个字符串的第一个字符值、最后一个字符值。如果我们用Java代码来写,通常是要先声明一个StringUtil类,然后在里面写相应的工具方法,代码可以是下面的这个样子 package com.easy.kotlin; ListUtil listUtil = new ListUtil();

来自国外Kotin 布道师的 完整版【Kotlin 简明教程】1

来自国外Kotin 布道师的 完整版【Kotlin 简明教程】1 A Productive and Pragmatic Language A programming language is usually designed with a specific purpose in mind. This purpose can be anything from serving a specific environment (e.g, the web) to a certain paradigm (e.g. functional programming). at the end of a type. var text: String = null // it does not compile var unsafeText: String? Double The compile will show the following error: Type mismatch: inferred type is Double?

ABP 源码解析 九. 时间

ABP 源码解析 九. /// 获取日期种类 /// DateTimeKind Kind { get; } /// /// Is that provider supports multiple time zone."); } _provider = value; } } private static IClockProvider _provider; static Clock() { Provider = ClockProviders.Unspecified; } /// /// Gets Now using current . /// public static DateTime Now = Provider.Now; public static DateTimeKind Kind = Provider.Kind; /// /// Returns true if multiple timezone is supported, returns false if not.

注解

} 使用注解 如果使用的那个注解有注解属性,那么使用的时候就要为这些注解属性赋值。 @MyAnnotation02(anno = @MyAnnotation01, clazz = TestAnno03.class, color = Color.GREEN, str = "qwe", value = { "asd" }) public class TestAnno03 { @MyAnnotation03(value = "qwe") public String name = "张三"; 获取fn1方法上的MyAnnotation01注解的对象 Class clazz = Class.forName("com.itheima.annotation.meta.TestAnno03"); System.out.println(annotation);

网页制作加法运算

height: 20px; } #center{ text-align: center; padding: 100px; } #text2{ width: 70px; } #text3{ width: 70px; } 5、具体框架搭好之后,我们开始给三个文本框赋值变量 x,y,z。记住给文本框赋值是要用value哦。 代码如下: var x = document.getElementById('text1'). 7、最后我把所有的代码梳理一遍供大家参考使用,谢谢。 代码如下: function mybutton2() { var x = document.getElementById('text1'). var z=Number(x)+Number(y);

angular6入门笔记

} else if (value = 80 value = 70 value {{myScores | nameLevel}} import { Component, OnInit, Input} from '@angular/core';/app.routes' import { NgModule, ModuleWithProviders } from '@angular/core' import { RouterModule } from '@angular/router' let rootRouteModule:ModuleWithProviders = RouterModule.forRoot(rootRouterConfig) @NgModule({ imports: [ rootRouteModule ] }) export class AppModule { } route goto-list 2.9关于路由的routerLinkActive goto-list goto-detail .

为何vue不能检测通过索引设置数组的某一项?

为何vue不能检测通过索引设置数组的某一项? Vue 官方原文:由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如: vm.items.length = newLength 首先我测试了下Object.defineProperty是可以通过索引属性来设置属性的访问器属性的: var arr = [1,2,3]; //change value console.log('arr: ', arr);

实现自己的promise

实现自己的promise 实现自己的promise // 声明函数 function MyPromise(fun) { this.state = 'Pending'; // 状态基 this.value = ''; // 成功回调的默认值 this.successFun = []; // 成功回调函数数组 this.errFun = []; function reject(err) { _self.value = err _self.state = 'Rejected' _self.errFun.forEach(cb = { cb(err) }) }; fun(resolve, reject); } // 在原型对象上,声明then方法 MyPromise.prototype.then = function(success, err) { var _self = this; var promise2;

ES6 系列之我们来聊聊装饰器

ES6 系列之我们来聊聊装饰器 Decorator 装饰器主要用于: 装饰类 装饰方法或属性 装饰类 @annotation class MyClass { } function annotation(target) { target.annotated = true; 此时传入 _applyDecoratedDescriptor 函数的 descriptor 就具有 initializer 属性。 第二部分源码解析 接下是应用多个 decorators: /** * 第二部分 * @type {[type]} */ desc = decorators . function bind(fn, context) { if (fn.bind) { return fn.bind(context);

巧妙让localStorage也能设置过期

console.log(typeof test, test); console.log(localStorage['name']); JSON.parse(source[key]) : source[key]; } initRun(){ /* * set 存储方法 * @ param {String} key 键 * @ param {String} value 值,存储的值可能是数组/对象,不能直接存储,需要转换 JSON.stringify * @ param {String} expired 过期时间,以分钟为单位 * @ 由@IT·平头哥联盟-首席填坑官苏南 分享 */ const reg = new RegExp("__expires__"); let expires = data[`${key}__expires__`]||Date.now+1;

【iOS_GitHub】banner(广告页/循环滚动广告图片/无限循环自动滚动卡片)

/** 两侧小的View与中间View的高度差 * default:15.0 */ @property (nonatomic, assign) CGFloat topBottomMargin;0 */ @property (nonatomic, assign) NSTimeInterval autoTime; 2. Public Method:可根据自己需求使用相应Method /** 刷新视图 */ - (void)reloadData; /** 获取可重复使用的卡片View(cardView) */ - (UIView *)dequeueReusableView; /** 滚动到指定的页面 */ - (void)scrollToPageWithPageNumber:(NSUInteger)pageNumber;

探寻hashmap

探寻hashmap Hashmap源码 1、 构造器: a)获得默认数组大小:1 4 :16 b) 获得负载因子:0.7):内部链表遭到破坏,发生链表成环,造成死循环,cpu飙升 2、 解决:1.8 引入两个指针声明 确保顺序 确保hashmap线程安全 1、 方法 a)使用collections.synchronizedmap方法 b) 使用concurrenthashmap并发集合类代替

Spring aop+自定义注解统一记录用户行为日志

/** * 日志类型,可能存在多种接口类型都需要记录日志,比如dubbo接口,web接口 */ LogTypeEnum type() default LogTypeEnum.WEB; } /** * 处理入参日志 * * @param point  切点 * @param methodLogAnnon  日志注解 * @param logMessage  日志信息记录实体 */ private void handleRequstLog(ProceedingJoinPoint point, Loggable methodLogAnnon, HttpServletRequest request, LogMessage logMessage, String logSwitch) throws Exception { String paramsText = "";

JavaScript数组去重方法合集

JavaScript数组去重方法合集 一、函数 方法一:先进行原数组升序排序,然后对比相邻元素 Array.prototype.distinct1 = function () { var time = new Date().getTime(); i temp.length; 方法五:利用数组forEach、includes方法 Array.prototype.distinct5 = function () { var time = new Date(). var res=[];res.includes(value)){ res.push(value); //测试性能的相关代码 console.log(Array.from(new Set(this)), new Date().j++){ data.push(Math.round(Math.random()*15));