文件杂乱,如何快速整理?工作太忙,东西太多,没空整理,一团乱,如何快速整理分类?第一步,创建文本文档,修改文件名后缀。第二步,上代码。 第三步,复制需要整理的文件,加路径,搞定了,按类型自动整理完成。
粉丝91获赞985

先来看一下凌乱的代码,这段代码横竖为一百二十横, 我们先尝试整理一下代码, 按照目前的速度完成这段代码整理工作大概需要花费五分钟, 接下来同样一份代码, 我们来挑战一下极限,一秒钟完成整理,三二一完成,用时一秒钟。

哈喽,大家好,今天跟大家分享一下节日算法之字符串所有的排列。输入一个字符串,打印出该字符串中所有字符的排列,例如输入 a, b, c, 输出得到 a, b, c, a, c, b, b, c, a, b, a, c, c, a, b, c, b, a。 我们可以提供一个思路, a, b, c。 所有的组合可以分为以下部分, a。 加上剩余字母的组合, b 加上剩余字母的组合, c 加上剩余字母的组合。好,我们现在来实现一下。 第一,我们先对数据做个容错处理,如果长度小于等于一直接捋 ten。 我们先对数据循环 当前得到当前字符串 剩下制服的一个组合, 定一个 reduction 最宽容 回去 返回我们的旅道城。 好,我们验证一下 啊,这里面速度有问题,我们通过结构得到。


什么啊?这个实力呢啊?目的呢?是这样子,嗯有我们呢有这样的一些兵号,这些兵号呢是来源于系统,可能是来源于系统啊,那么呃他都是有一个比较固定, 比较固定的格式,那么我们是要提取从呃第一个杠号以后的第一次出现的纯数字, 第一次出现的纯数字啊,那也其实也就是这四个字符这四个,那么提取完了以后呢,我们需要把这个数字啊拿来做一个排序写在这个地方,那么排序以后呢, 我们用要用排序以后的这个顺序来到这边,把这边的品名和备注给他带过去啊,当然我这边呢啊顺序好像是 我把它反向一下吧啊?我把它反向一下, 我把它反向一下,那么这样子的话就差不多了啊,就已经反掉了。呃,那么呃其实他那个呢?他那个表呢是纯粹的乱序啊,包括这里呢也并不像这么整齐的。 他可能他的这个数据呢是完全是乱的啊,完全是乱的,不会像这种整齐的。呃一二三四这样排的下来他是乱的。所以呢我们其第一个要做的动作呢是把这个提取到一个数组中, 就是每一个的中间这个字符串啊,这一个数字提取到一个数组中。第二步呢我们要把它做一个排序,也就是做一个呃声序这样的动作啊,是声序 排完以后呢,把它写入到这里之后,接下来呢把他的备注带过来,也就是这么一个目的啊,就是这么一个目的。呃,那么除了备注还有一个品名啊,其实 把他的这一些信息带过来那么简单来说,呃,有点类似于去做匹配,对吧?去做匹配其实这个直接用纯粹的公式也是可以完成的,但是涉及到自动化的话, 用公式那么其实也是不太好操作的,因为这只是这个自动化表中的一小部分,那么我把这小个十点呢先拿出来一点一点的讲,那么希望,呃,这位同学呢?哎, 是这位同学的实力吧。哎,是这位同学的实力啊,那么后面呢?呃,希望他能够 我看到视频从中呢有所领悟。好吧,来,我们一起来写一下。呃,目的呢?已经大概清楚了啊,就是第一步啊,我们呢要做的就是提取, 那么提取这里的每一个字符,我们可以从 a 二单元格开始向下定位就行了,因为它这个表中间并不会出现空白的。 哎,就说这个兵号这一栏啊,中间并不会出现空白的,那么我们就可以省事一点啊,直接,哎,当然了,我们这个多个工作表之间的交互啊, 最好啊给他指明一下我们要拿的数据是属于哪一个工作表的,否则呢,呃,有的时候可能出错,我们都不知道错在哪里啊。那么 a 一单元格之后向下去做一个定位,定位的时候呢,我们也带上这个啊,大家要记得这个,为什么要带上呢? 因为如果我们在另外一个表,哎,在这个表来运行这个代码的话,如果我们不带上 shit 一点乱集啊。后面这个定位的时候,如果不带上会出现什么结果啊? 会出现他认为你是从谢特一中的 a 单元格定位到这里的 a 单元格向下定位,明白吧?那么这两个区域他是不可能出现跨工作表把两个区域组合在一起的,所以呢,他就会报错,所以我们给他指明一下,他就不会出现这样的情况啊, 它还要大好,那么这一片区域呢,我们拿到了,我们直接把它的 value 值拿下来, 嗯,不如我们直接返回结果,返回我们那个想要的结果,那么我们有两种思路啊,第一种呢用 radio 词啊,第二种呢,用 map, 这两个方法呢,都可以实现, 都可以实现,呃,之后呢,中间再配合上一个 c 死,或者是正的表达式也可以啊,正的表达式呢,很简单啊,我们直接查找到第一次出现的这个井号,之后呢 进行一个切割,切割完了以后呢,直接用正在表达,是进行一次匹配,哎,只用匹配一次啊,那么他就直接拿到这个这个符号了, 或者呢直接 sds, 之后呢,找到这个字符串之后啊,找到这个符号之后向后拼移四位啊,把这四位截取下来,那么也是同样的效果啊,那么我们这边就用简单的方法, 直接用 sleep 的方式啊,那么这里大家注意哦,我们拿到的是一个二维数组啊,是二维数组,好吧,那么我们现在呢要把它,嗯,顶 floor 它, 把它转换一下,好吧,转换一下,然后完了呢,我们点一个,嗯,用 map 的方式, i t e m i t e m。 呢,每一个代表的是这样的一串啊,这样的一串,那么我们要返回的是这一节啊,这一节,那么我们就可以直接去取了。 i t e m。 现在是一个支付串,那么我们直接点一个 sleeves 之后呢, i t e m 顶 include in desk 哦啊,应该是这个之后直接去查找它这个 井号就可以了,之后呢井号加一啊,注意要这里要是井号加一之后,接下来呢给他四个字符,那么四个字符呢,应该是这一个的后四个,也就说井号加一以后的 再加四啊,再加四,那么我们就直接能够拿到那一个我们想要的了啊,但这样写好像呃一一长串的不太好看啊,那么我们就本来一句的, 那么我们就把它拆分一下吧,拆分一下,这样打下来当然呢,这样打下来以后呢,我们就要记得,因为我们写了花括号,所以要写伦敦啊,那么这个呢,就是我们提取到的那个纸了,但呢他现在如果直接返回会 返回最后的结果,我们这个艾瑞会是一个一位数数组,所以呢,我们给他一个中括号让他返回,每一次返回来都是一个单独的一位数组,这样呢,返回以后我们在这里啊就可以直接写入了,明白吧。呃,我们直接写入到,比如说写入到 b 一单元格顶瑞赛 最后来一个 everyday lunch 之后一喊 d y 六二啊,让它等于 every。 那么这样呢,我们就把这个字符串做了截取啊做了截取哎,看一下啊, a 叉 l down um 嗯,我怎么觉得我有点拼错了啊,来,我们来提示一下,摁档叉 l down 没有错呢,刚刚没有错啊,叉 l down 刚刚没有错,是吧,怎么会报错呢?我们再看一下啊,嗯,现在没有报错,那么,呃,现在呢,我们已经成功的把这个字符穿呢提取出来了,那么接下来呢,是不是还要做一个排序啊? 是不是?那么这个排序这个动作呢?呃,我们单独在写入之前,也就是输出之前来排一下,那么有两个方式,第一个呢,在等号的右边啊,也可以来排的,比如说我们来这里点一个点 short 之后呢,有两个参数啊, a b, 我们要正序,所以呢是 a 干 b, a 减 b 也行啊, 哎,二三四幺四二,对吧?那么现在就是一个降区档,二三四幺 二四幺九啊,对的,是吧?好,那么现在呢,我们的这个排序呢,也完成了,也完成了,完成以后呢,我们要干什么?其实还不到写入,明白吧?还不到写入,我们接下来呢,还要再去接着封装这个数组,那么这个排序完以后呢, 我们要做什么?我们要去匹配这边的数据,也就是把这边的每一个值给他取过来,明白吧?每一个值给他取过来,呃,也就是说 二四二三四幺对应的这个品名和呃备注把它取过来,那么有两个方式啊,其实有两个方式,这两个方式呢?嗯,排序完以后我们去取,呃,我们呢可以在前面单独去拿一下这个数据, 把它直接封装啊,因为这边的编号是不会重复的啊,不会重复的,所以呢,我们可以考虑把它翻封装到一个 map 中。 之后呢,我们在这里再做一次循环,就是排序完以后再来一次循环,这一次循环呢,就是直接把每一个这个再给他封装进去之后,再来写入就可以了, 对吧?那么我们可以在这里考虑来一个 m p, 让它等于 shit 二里面的 ran 几 a a 顶,嗯,不提示顶 value up 之后呢?嗯,直接来一个 reddit, 来一个封装啊,来一个封装 p v new map 之后,我们这里要有一个返回值 p, 接下来呢,再在里面写啊,因为它不会有重复的,所以呢,我们 就简单一点写就可以了,直接 p 点 set v v 的,哎,这边要注意转换一下啊,俊,把它转换成字符串啊,因为它是纯数字的,对吧?那么我们把它转换成字符串,也就是 v 零的位置,把它转换成字符串,然后呢,接下来我们把整个 v 放进去, 整个 v 呢,就是一个一尾数组,那么放进去啊,当然呢,我们也可以直接把 v 顶是例子,把第一个直接给他去掉, 把第一个直接给它去掉,那么就从第二个开始取就可以了,那么这样我们拿到的这个呃 map 呢,就已经是直接就是里面呢就是放的这样的一组一组一组的纸,明白吧?呃,其实我们封装之前应该 再做一个动作,在这里呢,再来一个例子,一,把表头给他去掉,好吧,表头给他去掉之后,这样呢,我们就拿到了这个 map 集合,那么这个集合呢?在循环这里循环完哦,排序完以后呢,他是一个已经排序好的数组,那么我们可以直接在这里顶一个 map 之后,嗯, i t e m。 我们要返回的也是二位数组啊,大家要注意,那么这里返回的是每一个 i t e m 哎,不对啊,每一个 i t e m 后面呢,跟上,跟上这个 m p 顶 get i t e m 就可以了, 那么这里的 it e m get 的时候,我们还是给他来做一下转换啊,因为这边也是数字啊,大家要注意,这边也是数字,如果你拿一个数字去 get 的话,是获取不到的, 他的劲啊,必须是类型相同的啊,类型相同的,那么我们再来一个 steam 之后呢,把这个 itm 放进去,当然呢,他获取过来是一个一维数组,维度会不同,所以我们把它扩展开来。 哎,那么接下来呢,我们再来揭示他一下,或者呢,就直接用这个艾瑞等就可以了,就 不用其他的病量啊,就不用其他的病量,那么我们直接现在再来重新写入写在我们的 b 一单元格啊, b 一啊,不对,是 b 二。开始之后呢, 来一个 resize every, 顶,愣是 every 里面的第零个元素顶愣是顶 y 六二等于 every。 来,我们看一下 能否实现。哎,报错啊,这里少了个冒号,封号啊,不是冒号,哎,还有报错 m p 顶 get 类型错误, 嗯, get 到的是一个数组啊,来,我们打个断点啊,看一看。虽然想法是想好了,但是呢,好像出了一点问题啊, 看一下 i t e m 是一个什么样的值, 看一下这个 sem, 嗯,这个 it e m 呢,在这里好像被封装成了一个二维数组啊,那么我们把这里呢,先不封装啊,先不用做封装。为什么呢? 先不用做封装啊,先不用做封装。其实我们可以不在这里顶啊,直接把这个去掉,直接顶袖的跟在后面也是可以的,但是呢,我们就不跟了啊,就不跟了,就分开写一下吧。 哎,还来断点,还有报错,还有报错,我们再看一下, 现在呢,还在排序,其实排序完以后才会到 map 中去,所以我们的 map 暂时是 没有只冰号啊。第一个冰号,冰号呢? um being home, i t e m 等于冰号。 呃,我制成 a 一了,那直接呃,这里 a 一没有关系啊,但是这里把它改成 a 二吧,这里把它改成 a 二。 那我们分一分吧。 其实还有一种情况,他会不存在,对不对?有没有可能?有可能的,那么不存在呢?也就是匹配不到, 匹配不到呢,我们就需要停空值,那么在这种情况下的话,我们干脆单独来一个并联吧。 type 等于。哎,这样我们也方便调试啊,放出来的话我们也方便调。 是之后呢,这里呢?把它换成 tap, 好,断点打在这里,我再来看一下。嗯,当然这里就不能获取 i t e m 了, 这里的话就不能获取 i g e m 了。分成两条语句线应该是放在这个里面才行啊, 这个 type 应该是放在里面才行。最后这个是返回制。 好,现在我们方便调试。先来调试一下啊,如果想紧化呢?我们调试完以后呢,再去紧化就可以了。 这个括号不能在这里,这个括号应该是写在这个位置的。好,我们再来重新。嗯, 花括号在这里啊,我们看一下啊,这里看一下它的 mapping get 等于什么东西? 等于空,我们看一下 itm 等于什么东西。二三四幺,我们看看这边有没有一个二三四幺 幺啊?二三四幺很明显是有的,对吧?是有的,那么他没有获取到,说明上面封装就出问题了, 封装的时候就出问题了。哎,问题在这里啊,来,我们注意看一下啊。我这边,呃 p 顶 set 的 string v 零啊,那么我这个括号啊,这个括号,这个括号括到那边去了,对吧?我们应该是对单独的 v 零进行一下转换就可以了,后面是他的纸,并不用括在里面,那么问题就出在这里啊, 好,那么现在呢就过来了,看到没有就过来了,我们对一下啊,二三四幺二三四幺,在这里四十四 六十六,对吧?是没有问题的,是没有问题的,那么这个小实力呢,非常的简单啊,非常的简单啊,那么他关键的有几个知识点, 嗯,但是呢他涉及到的知识点还不少啊,主要呢就是数组,其实主要就是数组 和呃一点点字符串的操作,那么呃,其实这个字符串的处理呢,还有一种处理方法呢,就是也可以配合上正德表达式去使用,当然呢,这种 有规律的啊,规律相当明显的,这种字符串我们直接用 sleep 的方式去简单查找和切割,其实也是非常不错的一种选择,非常不错的一种选择,那么嗯, 重点呢就是对数组的维度啊,要非常注意,要非常注意,那么嗯,这就是 我们的这个小实力,那么这个小实力呢?呃,就先讲到这里啊,那么一小个知识点,一小个知识点的讲,因为这位同学他给了我一个很大的实力啊,这个实力呢是他们其他同事写的,那么写的也非常不错,那么他就是想把里面的 呃每一个功能,每一个模块都单独的呃做一下学习,因为内容比较多,如果放在一节课讲的话讲不完,所以呢,我这边呢就把它放在了 放在了呃一节课讲一一个小的知识点,那么下一次呢?我再模拟一点数据呢?再去做后面的功能,好吧?好,那么嗯,我先把它保存一下啊,发给这位同。

大家好,今天跟大家分享一下结石算法。快速排序,时间复杂,会 o 的 n 的 log n, 它的特征是不稳定。我们输入九十七,七十二,六十八,五十一,四十五,二十九。 我们输出能得到意识排序的二十九,四十五,五十一,六十八,七十二,九十七。 嗯,我们先想一想他的实现思路。先是找到中间这个数,当我们中间这个数的话,我们作为基数,当小于他的,我们放到左边来,当大于他的,我们放到右边来。 但左边得到的数据其实也是一个无序的,因为我们是直接放,当得到左边的,我们再根据再排序,再调用这个 qq, 当右边的话,我们也是得到。一直这样循环完,我们就能得到我们想要的结果。现在我们来手动实现他一下。为了对于数据的严谨性,我们先做数据数组的一个判断, 当时数组的时候我们才做操作。 l 四的话, 呃,当我们如果我们数组的长度, 当我们长度小就是小于的时候,我们直接就是 return list。 行。我们得到我们的 mid, 我们取出我们的 base 来, 我们定一个左边左边的数组和右边的数组, 当我们循环。 当我们 item 如果小于辈子的话,我们就是 left 的话去添加这个 item, 当他大于他的时候,我们的话就是放到右边来, 这数据已经得到了,所以我们 return 出一个。按刚才说的,我们其实左边的数据其实还是需要再做处理,所以我们用地规的形式 contest 的话,它其实可以直接连接单个数和或者数种。所以的话我们直接 contact base 和 quick 的话 right。 行,这大体上是已经实现我们的效果。行,我们检查应该问题不大,进行一下啊。依次输入我们想要的结果。

今天讲一下怎么调试前端代码,主要是调试这个前端的这个 gs 代码。比如说现在我们就是随便找一个这个项目,这个视频部的自带的这个 gsp 项目,它是包含了这个 gsp 文件的, 然后我们可以在这个截屏文件里面就是 加上这个大码,加上这个 js 大码,这个主要是用来掩饰的这个加个 js 大码,然后我们就是启动运行, 启动成功了,然后在浏览器访问, 如果你在这个乱七这里打了断点,他就直接会进到这个断点这里来。先直接就是因为我之前已经打好断点了, 所以直接看一下就是怎么去调试。所谓的调试的话,其实不管不管是那个后台的这个加微单码,还是其他的单码,还是前端的这也是单码,都是单不调试,然后单不调试最常用的话 又又有两个这个操作,一个是这个是代步 over, 就是单部,他会,他就是会执行银行代码,如果那行代码就是是一个函数, 他不会进到函数里面去。然后这个是 stabble to, 也是单部,他和刚才那个的区别就是唯一的区别就是他会 进到这个函数里面去,这个这两个是最常用的。然后这个的话,然后这个的话就是直接就是执行到下一个断点,如果后面没有断点的话,就是全部执行完成,基本上就是这三个按钮,然后用来调试,我们就直接单步调试, 可以看到这个 a 现在变量是一, b 和 c 没定义,然后再执行的话,这个 b 是二, 然后再执行的话四一四三,大概就这么个流程点,这个就是执行完成 前段的调试,基本上就是刚才那几个按钮,然后就是但不调试。刚才这个界面是怎么处的呢?因为我之前是一开始打断点,如果把这个擦掉的话,直接就右键, 然后点这个,这个是谷歌浏览器,点这个 nice 就是打开调试模式,如果是其他里面去,其实都一样,基本上都是可以有这个右键,然后可以进到这个调试模式去调试前端代码, 或者从这里工具这里也是可以进到那个开发工具这里也是可以进到这个调试模式去的。有浏览器的调试模式 直接进来就可以了。然后找到你的元旦码,我们我们的元旦码是这里直接就是你就是节食的节食代码,欠的这个 at, 欠了这个节食 p 这个页面里面的直接打断点就可以了。 如果是独立的 gs 也是一样的,就是独立的 gs 文件也是直接打断点,然后他就会执行到那里,然后就会执行到断点,然后就可以调试了。好,谢谢。

最好用的加瓦斯佩特工具库在写 gs 代码时,我们经常要操作数组集合、字符串等,自己写会很麻烦,性能也不够高。 瑞瑞库提供了很多对 js 封装的方法,通过引入他可以用更少的代码实现同样功能。但前端技术也变态快,很多新项目都采用前端框架来开发,传统的杰瑞瑞也没有原来那么流行了。这时神器来了, 是一致性、模块化、高性能的加瓦斯佩特实用工具库,提供了这种性能极高的 gs 封装函数,项目必备。 现已开原至跟踏,坐拥四万多的 spa 面试前端的朋友一定要去研究下他的原码。关注我,每天一个脱发小技巧!

如果你是一个程序员,那么你肯定知道,在不同的编程项目中,有时需要使用多种编程语言或者转换现有的代码以适应新的项目需求。这可能是一项繁琐的任务,但现在有了一种全语言支持的代码转换工具,使这项任务变得异常简单。 这个代码转换工具提供了一个友好的用户界面,让你可以轻松的将你的代码从一种语言转换为另一种语言。他支持所有主流编程语言,例如赵宝、 拍拍、 c 架架,这爸爸是推着等等。而且,无论你是从一个已有的编码格式转换到一个新的编码格式,还是从一个已有的项目转换到一个全新的项目,这个转换工具都可以帮助你节省大量的时间和精力。使用这个工具非常简, 你只需要将你的代码复制并粘贴到工具的指定区域中,然后选择你想要将其转换为的语言类型,即可在短短几秒钟内获得转换后的代码。你完全不需要有任何关于转换的专业知识或技能, 一切都由这个工具为你实现。除此之外,这个代码转换工具具有其他许多有用的特性,例如插件支持、代码优化与格式化、代码片段管理等等。 这些优点都可以帮助你更好地管理你的代码库,使你的代码更加易读易用。总之,使用全语言支持的代码转换工具可以让你更轻松地转换编程语言,让你的编程工作更加高效。现在就来试试吧,让你的代码转换从未如此简单!

小伙伴们大家好,今天分享 driver script 快速排序算法。快速排序的算法核心是地规。今天我们的目标是实现一个 j s 数组的排序。 我们选中基准点,一般选中数组第一项即可,然后在基准点左右两侧分配数据。 我们快速实现一个 javascript 快速排序算法。传入输入长度为零,直接返回数组,定义基准值和左右两边的数组。 便利数组,并在左右两边数组中分配数据。 地规完整左右两边的数组, 并返回定义。验证视力在 note js 中运行排序效果符合预期。 记得点赞关注哦!

有粉丝提出这么一个问题,在 wps 当中可不可以写一个用 gs 开发环境的一个查看代码, 我们看一下这个在 w p s 当中,它是有两种开发环境,一种呢是 g s 开发环境,也说用的是 javascript 代码,另外一种呢是 v b 环境,也就是说用的是 v b a 代码。 那么在这里的话,在开发工具啊下面有个切换到 v b 环境,点一下切换到 v b 环境之后,就是说我之前那些 v b a 代码就可以去使用,如果说你没有这个 v b 这个环境的话呢,之前我那些 v b a 代码它是不可用的, 因为在 wpad 当中,他默认的话基本上就是打开的是 j s 开发环节,比如说他必须用 j s 的代码 来进进行解决,需要注意这一个问题。那么首先的话我们来看一下这个 g s 代码,这里我给整理好了,还是一样,就是这里我们去拆分十二月份的工作表,拆分成单独的 excel 文件, 在这一个开发工具下面,我们点击这个 wps 红边机器,或者你用快捷键也是一样的,就是奥特加 f 十一, 我们点开之后的话呢,我们把这个代码我们给他贴过来,代码的话呢都会放在粉丝群,需要的话可以领取就可以。然后的话我们还是一样,我们 nf 五或者呢你点击这里有个运行 这里的时候,他会提示红名称,我们就选择这个拆分工作表,然后点击这里运行, 提示这个拆分完成,就是已经拆分完了,然后我们点击确定拆分之后的文件在哪里去看呢?就说你这一个总表发在哪里就去哪里看, 那我们看一下这个是总表所在的路径,下面的话呢?是刚才用代码拆分出来的十二个月份的工作表, ok。

本节课我们讲解一下开发工具选项卡下面录制新红这个功能。首先说明一下录制新红这个功能他的作用,此功能适用 gs 代码记录用户对应用程序的操作, 也就是说当前我们在软件上的任何操作,它都可以用 gs 代码记录下来。接下来我们演示一下如何使用录制新红这个功能,它分成三步,第一步,录制红,第二步,停止红。第三步,调用红。 首先我们来看一下第一步的操作,录制红。在录制红之前,我们确认一下当前是否是 js 编程环境,如果录制新红上面这个图标显示的是 js, 证明是 js 开发环境,如果不是,那么我们可以进行切换。此时录制新红上面没有 gs, 我们再切换,出现了 gs 图标,表示是 gs 开发环境。接下来为了让用户看到我们在操作时所产生的代码,我们调出 wps 红编辑器, 调整一下 wps 前端和编辑器的显示比例,以方便观看。 调整好左右的仕途比例之后,接下来开始正式录制新红。在录制新红之前,我们说明一下本次录制新红的目的是在每一行工作 记录上添加工资条表头,所以首先选择要进行操作的单元格区域。接下来点击录制新红。 在弹出的对话框当中,我们可以对陆志宏的相关选项做设置,比如说宏明的设置, 他默认为马克尔一,如果第二次录制则显示为马克尔二,第三次显示为马克尔三,以此类推,这里使用他的默认设置,然后点击确定,大家注意观看我在确定时右侧红编辑器他的变化, 此时在右侧红编辑器当中,在代码下面自动创建了一个新模块,并且在右侧代码区当中显示了关于陆志宏的相关信息,比如 比如说录制的用户录制的时间,并且在下面自动创建了一个马克一过程。等一下我们在 wps 当中操作的时候,对应会在当前这个过程的这一对大括号之间自动产生代码。好,接下来我们正式开始录制, 本次录制我们需要点击使用相对引用,对于使用相对引用功能,我们会有专门的视频做讲解,本节课不详细做说明,接下来开始操作, 请注意此时我们所做的每一步操作都非常关键,所以我们操作时必须严谨。接下来我们的目的是将选择的工资条表头复制到序号一和二之间,它的本质就是跟第二条记录做表头,因为第一条已经有表头了, 我们这个操作实现的是插入复制,首先按住 ctrl shift 键,然后鼠标指到底端选择的这个区域的底端,当鼠标成黑色十字箭头之后,按下鼠标左键向下拖拽,此时虚线出现在序号一和二之间, 首先松开鼠标左键,再松开键盘上的快捷键,完成操作。在右侧红编辑器当中,我们可以看到在大括号之间产生了代码,这个就是刚才我在做这一步操作的时候所产生的代码。接下来我们停止录制, 录制完成,录制红完成之后,接下来讲解如何调用录制的红。第一种调用方法直接在红编辑器当中调用,首先我们选择要 复制的工资条表头,然后光标定位到马口一这个录制的后,然后再点击运行, 点击一次,复制一次,当前有多少个人的工资条就需要点击多少次。 接下来我们再讲解第二种调用方法,使用 gs 红这个按钮。首先同样选择要复制的工资条表头,然后点击 gs 红,此时我们可以看到马口一,也就是右侧红编辑器当中录制的这个马口一, 我们选择马口一,然后点击运行,此时运行一次,如果想再次运行, 则继续点击,这是第二种调用方法,接下来我们讲解第三种调用方法, 可以通过绘制一个按钮或者是图形来进行调用。本次演示我们通过绘制一个图形来调用,在插入选项卡下绘制一个形状,绘制一个圆角举行, 然后指向图形,点击右键。在快捷菜单当中,我们选择指定红,将 mac 一这个红指定给当前这个圆角举行,点击确定, 此时我们选择要复制的工资条表头,然后单击图形运行一次,运行两次,运行三次,直到完成每一个人工资表头的复制。刚才我们演示了开发工具落 录制新红他的使用方法,接下来我们讲解一下录制新红他的一些优点和缺点。他的优点主要有两点,第一,录制红时只需要用户做基础操作,这 s 红带吗会自动生成,这比其他不带录制功能的编程语言具有更多的优越性。 第二,当要查选某个操作对应的 gs 代码时,可以通过录制红迅速获取。 接下来说一下他的缺点,主要有三个,第一,并非所有的操作都能产生相应的代码,也就是说有的操作他可能不能产生对应的 gs 代码。 第二,录制红时通常会产生一些荣誉代码,也就是录制时所产生的代码有可能不够精简,会产生一些多余的我们并不需要的代码。第三,录制 制红所产生的代码不能做判断、循环、交互等处理。比如我们录制的复制工资条表头,由于无法录制循环功能,所以无法实现运行一次,则将所有人的工资条记录复制完成, 只能够实现一条一条的复制。在后面的课程当中,将会讲解如何在 gs 代码当中做判断、做循环等处理,已达到制冷批量的处理数据。好,本节课关于录制新红的讲解到此结束,再见!

大家好,这个新增和修改我现在系统里用的是同一个弹框,然后呢系统是根据用户 id 是否存在,来判断最终是执行新增方法还是修改方法。现在的问题是这一段的代码容于比较严重,我们来看一下如何优化。 大家看这一段是新增,下面这一段是修改,那么这个判断呢?就是判断用户 id 是否存在。 我们解决这个问题通常的思路呢是把这一段封装成一个翻个身,然后在这判断之后来调用翻个身,利用参数来实现 调用不同的方法。那其实呢,基于加速快板特性,我们还有另一种解决问题的思路,就是这样我们可以在判断代码做一件事,就是 我们提前准备一个翻个身,叫卡密纸,专门存储 方法,也是说如果用户 id 存在,那么肯密他就指向新增方法,如果用户 id 不存在, 那么卡密他就指向修改方法。最后在下面 我们只执行卡密特方法就行,因为在上面卡密他已经做过判断了。 好,然后下面这个衣服整整个都不要了。好,我们再来试一下 新增,修改。好,没问题。好,今天就到这里,谢谢大家,再见。

好,各位前端的小伙伴,大家好,咱们今天呢看一道面试题,统计一下这种字符出现的次数, 好,有一个字不,有一个字不转,哎,咱们的一个需求呢,是统计里面的一个次数啊,众所周知啊,咱们如果想要统计一个什么东西,咱们预期的数据类型还是存到对象里面去,因为对象呢,更能够清晰的看到是吧?对象是一个画画吗? k 冒号值就是 a 出现了三次, b 出现了两次,所以说咱们初始啊,先给他一个供对象,然后边也立字务传 在字在这个对象里面啊,判断在这,判断这个字符有没有存在于这个对象里面去,有的话他的值就加加,没有的话对应的初始值复制为一, 这是咱们传统的解决方案。那显然如果是普通,你在做业务,没有任何的问题,但是如果是面试的话,你怎么样从面试观中面试者中呢?脱颖而出呢, 对不对?所以说你这种传统的大家都会,你怎么样拖延而出呢?肯定肯定还是要用更优的一个结局方案。 那这里啊,好提供一个方法,叫做 radios, 也是咱们今天要讲的一个重头戏,那 radios 是用来做什么?做累计的,求和的都可以,很显然咱们这道题目是 统计次数,也是做了一记的,咱们就可以使用 readys 来实现,但是咱们使用 readys 之前呢,咱们先认识一下这个 readys 啊,对他的一个定义啊,首先啊, readys 是用来干嘛的呀?是用来,是用来操作数组的,操作数足给数组求, 哎,这是他基本基本的,就是最通常的用法,数字九号。那咱们先来一个数组,好,一二三四。那咱们使用数组点 radios 就可以使用啊,咱们给他一个剪刀手。 好在于这个箭头函数里面他有四个函数,两个必须,两个非必须,咱们就写两个必须的,两个必须的 a 和 b, 最终的一个函数体呢,是蕊,他一个 a 加 b 就可以了,这样众所周知都知道是求和的,咱们就可以来一个二,一等一个。 好,为了咱们更方便的一会解决咱们这个需求呢,咱们给他 radios 这个方法的第二个参数,设置一个零,表示初始值,谁的初始值? a 的初始值,那么他的 先看结果。好,一加二加三加四的结果值是多少啊?都知道是十,好求出来了。那么它的一个执行流程是这样的,先分析一下,这个 a 的出示值是零, b 呢代表的是里面的数据,像 b 等于一进来之后,哎,零加一等于一给了谁?给了 a, 那么此时二进来,那么一加二等于三又给了 a, 三加三等于六给了 a, 六加四等于十,又给了 a, 所以说最终结果是一个十。好,熟悉了咱们 radios 的一个用法之后呢,咱们紧接着去根据咱们这道题目把它给完成,好,把它顶下去。都知道 radios 是用来操作 数组的,所以说咱们这一步是需要先转,先转,将这个字符转成数组。哎,怎么转呢? s 点二点四的 light 好转成数组。转成数组之后,那理所当然就可以使用咱们的一个 reduce 方法, 好,前面依旧是 a 和 b, a 和 b, 但是咱们一开始讲的是把咱们的预期数一类型是什么?是一个对象, 所以说咱们初始值给他试试。为什么都想一个字面量的空对象?字面量的空对象,那在空对象里面判断 a 就是,比如说这个空对象的初始值不是给了 a 吗?咱们就在 a 里面判断有没有币, 有没有 b, 对不对?那也就说 a 里面有没有 b 这个问题, ab 写一个问号, 使用问号有 a 和 b 吗?哎,里面有 b 吗?是吧?有的话就怎么样, ab 怎么样加加,没有的话呢?就 ab 等于一等于一, ok, 那最终咱们是要有返回值的是不是?那最终返回的是谁呢?难道不是 a 吗?为什么是 a 呢?非常简单,咱们 a 就是最终累计出来的这个结果, 刚好咱们最终要的一个结果还是一个对象,那咱们就赖到二一等于大,那最终咱们打印一下对应的咱们的二一,看一下咱们的一个结果, 点击刷新,哎,是不是咱们统计次数就统计出来了?那这样其实并不是最优的一个接法。什么是最优的接法?也是在这里面,咱们可以用一个短路运算,短路运算就是 a b 怎么样加加或者 ab 等于一,好在这里面编辑器报错了,没有关系,把它放在咱们的括号里面就可以了。那这样的话,你看咱们短路预算,有 ab 就加加,没有 ab 就出使值等于一, ok, 这样的话也是不会影响咱们最后统计的一个结果,那咱们这个统计就完了,就完了。其实啊,咱们还有更优的解决方案,也就是说把这两行代码写成一行,哎,有知道的同学欢迎咱们在评论区留言。好,那咱们本期视频就到这里,拜拜。