第一次在博客园写文章,之前一直自己做记录。现在前端工作两年了,对前端整体技术有较清晰的了解。项目用了vue,react之类的写,如今打算从基础开始,慢慢深入了解原生的JS.这几天清明节,玩的嗨皮,最后一次开始赶作业(我规定自己每天至少一个Js题,在网上随机找的。*~*)
最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊,为了在以后的工作中写出最优化的代码,我们必须要不断的充电,不断的提高自己的技能。
注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
第一步:安装mockjs npm install mockjs -s 第二步: 在main.js 中引入mock // 引入mock // import Mock from "./mock" // 生
前言:无论在学习什么语言的时候,我们都需要明白其该怎么样去定义一个变量或者Function,那么今天我们来看看TypeScript的数据类型。
一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明。 1 $.get("data.php",$("#firstName.val()"),function(data){ 2 3
在前面的文章中,我们简单的介绍过一点反射的内容,没有深入,这次的反射内容会比上一次更加深刻一点!
//调试技巧一安装nodejs 使用node命令执行当前的js /** * @author: 吴文周 * @name: 默认名称 * @description: 判断数组中是否每一项都符合条件 * @param {array,function}: 默认参数 * @return {Boolean}: 默认类型 * @example: 示例isAccord(array, compare) */ // 使用说明 const array = [1, 2, 3, 4]; console.log( a
HTML5学堂:在项目开发过程中,难免会需要调试一些数据,而大量的console.log()需要频繁切换JS和页面,同时最后有可能还忘记删除打印信息。使用断点调试可以更方便的掌握js执行信息。,今天来
A:官网有配置主题的页面可以配置后下载使用element.eleme.cn/#/zh-CN/the…
在开发过程中,极有可能会用到JSON数据的传输。这不,笔者在前段时间的开发过程中在http请求后台数据时就用到了JSON与对象和集合之间的转换。在JSON数据组装的过程中,你还在怕一个个字符串拼接出错而烦恼吗?在这里笔者整理了一个完整的工具类,能够帮助大家快速而高效的开发,妈妈再也不用担心我在这一块出错了。
最近数据库学习中,体会到数据库中大大小小的数据处理,都离不开数据算法,有效的开始理解一些算法会对某些数据库设计中的理念会更深入的理解。
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。每一趟排序后的效果都是讲没有沉下去的元素给沉下去。
导语:继续研究来自于excelxor.com的案例。在《Excel公式练习36:找到和的加数》中,讲解了一个公式,可以标出指定和的加数,然而,如果有几种组合都可以得到这个和数,该公式只能标出其中一种组合,本文讲解的公式就来解决这个问题,将所有的组合都标出来。
首先是一种数据结构,可以存储一个固定大小的相同类型元素的顺序集合。是一组相同类型元素的集合。
今天来使用JNI对数组操作,数组分为基本类型数组和引用类型数组,首先来看下基本类型数组的使用 1.基本类型数组 我们在java中定义一个方法,传入一个int型数组,使用c++进行排序 package com.aruba.jniapplication; /** * JNI访问数组 */ public class JniDemo4 { static { System.load("C:\\Users\\tyqhc\\source\\repos\\JniApplication\\x6
在定义一个结构体变量的时候,需要对结构体的内容进行初始化,那么初始化的函数实现是这么来实现的 形参列表为指向数组地址的指针变量,一个初始化数组大小的长度
大部分安卓用户的手机里是没有自带画板功能的,而在近期网课盛行之时,一个随手可用的手写面板,无论是在写笔记方面,还是在辅助授课方面,一个小画板就体现出了很大的作用。那么这个功能应该如何来实现呢?
function uniq(arry) { return […new Set(arry)]; }
线性表(linear list)是n个具有相同特性元素的有限序列 。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…
jQuery其他补充 + 4.1 链式编程: end()补充 * 补充五角星 评论案例 * 第一步:鼠标移入,当前五角星和前面的五角星变实体。后面的变空心五角星 * 第二步:鼠标点击的时候,为当前元素添加clicked类,其他的移除clicked类 * 第三步:当鼠标移开整个评分控件的时候,把clicked的之前的五角星显示实心
我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。
最长等差数列就是在一个数组中,组成等差数列的最长的那一个,首先我们对数组排序,然后我们一般会先想到暴力法从第一个开始循环遍历整个数组,时间复杂度O(N^3),下面给出伪代码
1-n组成的素数环,素数环就是一个数组中后一个数加前一个数必须组成素数,a[i]+a[i-1]是素数,又因为是环状所以,首末相加也要上素数即a[0]+a[n-1]是素数,因为是环状所以会有很多重复的排列,我们要除去重复的排列,就要假定所有的排列都以1打头。我们也是用回溯加剪枝来求素数环
第1题 int sum_nth(unsigned int num, unsigned int n); 功 能:求出给定自然数的指定位置的数字(个位为0,十位为1,......) 参 数:num为给定的自然数;n为指定位置. 返回值:>=0,给定自然数的指定位置的数字; <0,不成功. 分 值:
循环展开对于算术运算来说,优化的作用是很大的。我分别对整数运算和浮点数运算作了多次测试,得出表格如下:
在暴力求解算法中,子集生成问题是一个很重要的算法,在一个数组中找到各种子集,然后筛选出符合题目条件的子集,比如n-sum等问题,现在写一个位向量法生成子集的通用模板
导语:继续研究来自于excelxor.com的案例。太有才了!多的不说,有兴趣的朋友往下看。
思考路线:需要区分数字字符和非数字字符,故可知数字字符为此条件中的”特殊字符“,即特殊情况,需单独处理。数字字符的ASCII值为48-57。每次比较两个字符串(如字符串j和字符串j+1)中的每一个字符。
导语:继续研究来自于excelxor.com的案例。这个案例似乎又有点复杂,但其中许多公式技术仍值得我们反复琢磨。
据说凡是可以循环的步骤,都可以递归表示出来。 递归的关键有二点: 1.0 递归公式,即递推式。 2.0 递归出口。 ---- 递归求数组的和 package day20180407; public class Sumarry { public static void main(String[] args) { int[] arry= {1,2,3,4,5}; System.out.println("the sum of the arry="+sum(arry,arry.l
---- NSArray类简介 有序且只可以存储Objective-C对象的数组 初始化后,内容不可变,长度也不可变,不能进行增、删、改操作 不能存放nil (nil是标志数组的结束) 在MRC模式下,会发送retain消息于每个加入数组中的元素都进行保持,数组被释放的时候会发送release消息 ---- 属性表(@property) @property 描述 @property(readonly) NSUInteger count 数组元素的个数 @property(nonatomic,
题目:我们把只包含因子2、3 和5 的数称作丑数(Ugly Number)。求从小到大的顺序的第1500个丑数。
导语:继续研究来自于excelxor.com的案例。这个案例比较复杂,需要仔细研究。
归并排序,采用分治法。首先采用递归,把数组分成一小段有序,然后再把有序的数组一一合并。 首先看看,把有序的二个数组,合成一个的算法。 package day20180406; public class GuibingDem { public static void main(String[] args) { int[] test1= {1,3,5}; int[] test2= {-8,8,16,26,88}; int[] c=new in
选择排序 选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 选择排序是不稳定的。算法复杂度是O(n ^2 )。 个人总结: 选择排序,就是要又一个游标,每次在做比较的同时,纪录最大值,或者最小值的位置,遍历一遍之后,跟外层每次纪录的位置,做位置交换。为什么叫选择排序呢,估计就是这个原因,每次遍历一遍,选个最大或者最小的出来。算法因此得名。 package mainimport (
导语:继续研究来自于excelxor.com的案例。建议结合本文阅读原文,会了解更多的细节,会有更大的收获。
导语:继续研究来自于excelxor.com的案例。坚持到现在的,应该都有感觉了!
问题描述: 在一个大小为n的数组中,其中有一个数出现的次数超过n/2,求出这个数。这题看似很简单,但是找到最优解不容易,一般情况我们首先想到最笨的方法,每选一个数,遍历一次数组,复杂度O(N^2),或者先排序再找那个数,复杂度一般为O(NlgN),或者用hash,时间复杂度O(N),空间复杂度需要看输入的数据规模,空间复杂度O(N)。所以这些都不是最优解,我们先分析一下这个题目,设该数出现的次数为x,则x满足,n/2+1<= x <=n;所以我们可以想到如果该数和其余的数全部相抵消的话,至少还剩1个,我们从前往后遍历,设key为第一个数,key出现的次数为ntime,初始化为1,代表key出现了一次,从前往后,如果某个数不等于key,则他俩抵消,key的出现次数减一,如果等于key,则key的出现次数加1,如果key的出现次数变成了0,则说明key已经用完了,所以需要重新初始化key为另一个数,再重复以上步骤,因为一定有一个数大于n/2,所以遍历到最后剩下的那个数,就是要求的数。
数组 声明&&初始化数组 数组声明需要指定元素及元素个数,语法格式如下 数组用来存储相同唯一类型的,一组已编号且长度固定的序列 var arr_name[num] arr_type package main import "fmt" func main() { // 写添加元素的个数 var test [5]string fmt.Println(test) for i:=0; i< 4; i++{ test[i+1] = "test" } fmt.Println(test) // 不
php遍历三种方法: for循环遍历数组 foreach语句遍历数组 while() list() each() ---- for循环遍历: 其他语言遍历的方式(只有这种方式) PHP遍历的方法不是我
导语:继续研究来自于excelxor.com的案例。这个案例应用了前面分享的一些公式技巧,值得反复学习。
性能优化是把双刃剑,有好的一面也有坏的一面。好的一面提升网站性能,坏的一面配置麻烦,或者要遵守的规则太多。并且某些性能优化规则并不适用所有场景,需要谨慎使用,请读者带着批判性的眼光来阅读本文。
20. 有效的括号 - 力扣(LeetCode) (leetcode-cn.com) 思路:是左括号,就入栈,是右括号,就与栈顶的左括号判断是否匹配,如果匹配,继续,不匹配就终止。 从第79行开始,前面都是实现栈以及其功能接口。
ArrayList简介 ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找,效率非常高。
本文实例总结了JS数组排序技巧。分享给大家供大家参考,具体如下: 1、冒泡排序 var temp = 0; for (var i = 0; i < array.length; i++) { for (var j = 0; j < array.length - i; j++) { if (array[j] > array[j + 1]) { temp = array[j + 1]; array[j + 1] = array[j]; array[j] = temp; } } } console.log(arra
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。
这几天心血来潮,想了解一下前端监控的相关知识,可是在查看了很多资料之后,发现没有详细介绍前端监控的相关文章,都是讲个大概,反倒是现成的前端监控工具有不少。
领取专属 10元无门槛券
手把手带您无忧上云