historyReverser array reverse

historyReverser & array reverse


"use strict";/**** @author xgqfrms* @license MIT* @copyright xgqfrms** @description historyReverser* @augments Reverse 逆向 / Recursive 递归* @example* @link**/const historyReverser = (datas = [], text = ``, debug = false) => {let result = {};let newDatas = [];let reverseDatas = [];let length = datas.length;if (length === 10) {if(datas.includes(text)) {// remove old & add newlet index = datas.indexOf(text);datas.splice(index, 1);datas.push(text);} else {// add newdatas.push(text);datas.shift(0);}} else {datas.push(text);}newDatas = datas;datas.forEach((item, i) => {let value = datas[length - i - 1];reverseDatas.push(value);});result = {newDatas,reverseDatas,};return result;
};export default historyReverser;export {historyReverser,
};

tesing


let datas = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]let text = "5";
// let text = "15";
const historyReverser = (datas = [], text = ``, debug = false) => {let result = {};let newDatas = [];let reverseDatas = [];let length = datas.length;if (length === 10) {if(datas.includes(text)) {// remove old & add newlet index = datas.indexOf(text);datas.splice(index, 1);datas.push(text);} else {// add newdatas.push(text);datas.shift(0);}} else {datas.push(text);}newDatas = datas;datas.forEach((item, i) => {let value = datas[length - i - 1];reverseDatas.push(value);});result = {newDatas,reverseDatas,};return result;
};let ReverseArray = historyReverser(datas, text);console.log(`ReverseArray =`, ReverseArray);

740516-20190517142438097-1697177850.png

740516-20190517142507277-729920569.png

MDN & Array

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

0.push

  1. shift
  2. unshift

  3. slice
  4. splice

  5. includes
    6.infdexOf
    7.last​IndexOf


bug

740516-20190517160307155-338986951.png


"use strict";/**** @author xgqfrms* @license MIT* @copyright xgqfrms** @description historyReverser* @augments Reverse 逆向 / Recursive 递归* @example* @link**/const historyReverser = (datas = [], text = ``, debug = false) => {if (text === null) {text = `xyz`;}let result = {};let newDatas = [];let reverseDatas = [];let length = datas.length;if (length === 10) {if(datas.includes(text)) {// remove old & add newlet index = datas.indexOf(text);datas.splice(index, 1);datas.push(text);} else {// add newdatas.push(text);datas.shift(0);}if(datas.includes(text)) {// remove old & add newlet index = datas.indexOf(text);datas.splice(index, 1);datas.push(text);} else {// add newdatas.push(text);datas.shift(0);}} else {datas.push(text);}newDatas = datas;// datas.forEach(//     (item, i) => {//         let value = datas[length - i - 1];//         console.log(`null value`, value);//         reverseDatas.push(value);//     }// );if (1 <= length) {datas.forEach((item, i) => {let value = datas[length - i - 1];console.log(`null value`, value);reverseDatas.push(value);});} else {reverseDatas = datas;}result = {newDatas,reverseDatas,};return result;
};export default historyReverser;export {historyReverser,
};

OK

unshfit


"use strict";/**** @author xgqfrms* @license MIT* @copyright xgqfrms** @description historyReverser* @augments Reverse 逆向 / Recursive 递归* @example* @link**/const historyReverser = (datas = [], text = ``, debug = false) => {// console.log(`datas =`, datas);// console.log(`text =`, text);let result = {};let newDatas = [];let reverseDatas = [];let length = datas.length;// if(datas.indexOf(text) !== -1) {if(datas.includes(text)) {// remove old & add newlet index = datas.indexOf(text);datas.splice(index, 1);console.log(`datas =`, datas);datas.unshift(text);// datas.push(text);} else {// add newif (length === 10) {datas.splice(9, 1);datas.unshift(text);// datas.push(text);// datas.shift(0);} else {// add newdatas.unshift(text);// datas.push(text);}}newDatas = datas;reverseDatas = datas;// let new_length = newDatas.length;// if (1 <= new_length) {//     let temp = datas;//     reverseDatas = temp.reverse();//     // datas.forEach(//     //     (item, i) => {//     //         let value = datas[new_length - i - 1];//     //         // console.log(`value`, value);//     //         reverseDatas.push(value);//     //     }//     // );// } else {//     reverseDatas = datas;// }result = {newDatas,reverseDatas,};return result;
};export default historyReverser;export {historyReverser,
};

转载于:https://www.cnblogs.com/xgqfrms/p/10881090.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pip国内加载速度慢解决方法

在国内使用pip安装包时有时会发现安装速度非常慢&#xff0c;甚至连接不上源。 为了加快pip的下载速度&#xff0c;我们可以主动使用 -i命令来切换到国内源。 下面放出实测好用的国内源 : 清华&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 阿里云&#xff1a;http:…

oracle--导出、导入blob类型的字段

oracle--导出、导入blob类型的字段 blob是oracle中的一个数据类型&#xff0c;保存的是压缩后的二进制形式的大数据。 数据迁移如果涉及到blob字段&#xff0c;都不好处理&#xff0c;因为无法用常规方法进行操作&#xff0c;如&#xff1a;使用select查看该字段&#xff0c;…

深度学习分布式训练小结

分布式训练本质上是为了加快模型的训练速度&#xff0c;面对较为复杂的深度学习模型以及大量的数据。单机单GPU很难在有限的时间内达成模型的收敛。这时候就需要用到分布式训练。 分布式训练又分为模型并行和数据并行两大类。 1. 数据并行 数据并行在于将不同batch的数据分别…

MAC配置JCO,与找不到sapjco3异常

①到jco官网下载jco压缩包&#xff0c;解压 ②把libsapjco3.jnilib 放到一个文件夹中 把该路径配置到环境变量中 ③项目运行有可能会出现异常&#xff1a;找不到 sapjco3 &#xff1b; 第一种解决方式&#xff1a;配置虚拟机参数&#xff1a;-Djava.library.path之前环境变量路…

Java高并发之BlockingQueue

前言碎语 当系统流量负载比较高时&#xff0c;业务日志的写入操作也要纳入系统性能考量之内&#xff0c;如若处理不当&#xff0c;将影响系统的正常业务操作&#xff0c;之前写过一篇《spring boot通过MQ消费log4j2的日志》的博文&#xff0c;采用了RabbitMQ消息中间件来存储抗…

IP通信基础回顾2(第三周)

1.TCP报文 序号字段占4个字节。TCP连接中传送的数据流中每一个字节都编上一个序号。序号字段的值则是本报文段所发送的数据第一个字节的序号。 确认序号占4个字节。是期望收到的对方的下一个报文段字节胡序号。首部长度占4个字节。指出TCP首部长度在20-60字节之间&#xff0c;所…

ThreadPoolExecutor线程池 + Queue队列

1&#xff1a;BlockingQueue继承关系 java.util.concurrent 包里的 BlockingQueue是一个接口&#xff0c; 继承Queue接口&#xff0c;Queue接口继承 Collection BlockingQueue----->Queue-->Collection 图&#xff1a; 队列的特点是&#xff1a;先进先出&#xff08;FIFO…

linux基础文件管理软硬链接

一、文件系统的基本结构 1、文件和目录被组成一个单根倒置树目录结构 2、文件系统从根目录下开始&#xff0c;用“/”表示 3、根文件系统&#xff08;rootfs&#xff09;&#xff1a;root filesystem文件名区分大小写 4、以 . 开头的文件为隐藏文件 5、路径用/隔离 6文件有两类…

mybatis动态更新xml文件后热部署,不重启应用的方法

mybatis应用程序&#xff0c;由于是半自动化的sql, 有大量的sql是在xml文件中配置的&#xff0c;而在开发程序的过程中&#xff0c;通常需要边写sql变调试应用。但在默认情况下&#xff0c;xml文件里配置的sql语句是被放入到缓存中去了&#xff0c;每次更改有sql语句的xml文件&…

下拉插件 (带搜索) Bootstrap-select 从后台获取数据填充到select的 option中 用法详解...

今天收到了客户的需求&#xff0c;要求在新增停车场ID的时候要从数据库查出来对应的停车场名称然后显示在界面上。保存的时候按照停车场ID进行保存。 自己首先把后台的部分写完了&#xff0c;测试了接口数据。成功的拿到了ajax数据。 接下来&#xff0c;自己用了select下拉标签…

Linux自有服务(2)-Linux从入门到精通第六天(非原创)

文章大纲 一、设置主机名二、chkconfig三、ntp服务四、防火墙服务五、rpm管理&#xff08;重点&#xff09;六、cron/crontab计划任务&#xff08;重点&#xff09;七、学习资料下载八、参考文章 自有服务&#xff0c;即不需要用户独立去安装的软件的服务&#xff0c;而是当系统…

营销-营销方式:营销方式

ylbtech-营销-营销方式&#xff1a;营销方式营销方式是指营销过程中所有可以使用的方法。包括服务营销、体验营销、知识营销、情感营销、教育营销、差异化营销、直销、网络营销等。要有好的营销方式首先要创造行之有效的营销工具。但这并不意味着要把预算的75%都花在印制宣传资…

Kibana可视化管理页面详细使用说明

Kibana可视化管理页面详细使用说明 使用浏览器访问 ip:5601 默认端口&#xff0c;进入首页 Discover&#xff1a;日志管理视图 主要进行搜索和查询 Visualize&#xff1a;统计视图 构建可视化的图表 Dashboard&#xff1a;仪表视图 将构…

OO_BLOG3_规格化设计(JML学习)

目录 JML语言学习笔记理论基础应用工具链情况JMLUnit/JMLUnitNGUNIT3 作业分析作业 3-1 实现两个容器类Path和PathContainer作业 3-2 实现容器类Path和数据结构类Graph作业 3-3 实现容器类Path&#xff0c;地铁系统类RailwaySystem规格撰写的心得与体会最后&#xff0c;衷心感谢…

CMU Database Systems - Sorting,Aggregation,Join

Sorting 排序如果可在内存里面排&#xff0c;用经典的排序算法就ok&#xff0c;比如快排 问题在于&#xff0c;数据表中的的数据是很多的&#xff0c;没法一下都放到内存里面进行排序 所以就需要用到&#xff0c;外排&#xff0c;多路并归排序 看下最简单的&#xff0c;2路并归…

springboot线程池的使用和扩展

实战环境 windowns10&#xff1b;jdk1.8&#xff1b;springboot 1.5.9.RELEASE&#xff1b;开发工具&#xff1a;IntelliJ IDEA&#xff1b; 实战源码 本次实战的源码可以在我的GitHub下载&#xff0c;地址&#xff1a;gitgithub.com:zq2599/blog_demos.git&#xff0c;项目主…

通过Rancher安装K8s

说明 我们用kubernetes去管理Docker集群&#xff0c;即可以将Docker看成Kubernetes内部使用的低级别组件。另外&#xff0c;kubernetes不仅仅支持Docker&#xff0c;还支持Rocket&#xff0c;这是另一种容器技术。希望我这篇文章中简单的描述能让你对两者有所理解和认识。 机…

35. 搜索插入位置-LeetCode

心得&#xff1a;这个题也是二分查找&#xff0c;但是有个小技巧&#xff1a;当left>right的时候 left就是要插入的位置。 代码&#xff1a; 1 class Solution {2 public int searchInsert(int[] nums, int target) {3 if(numsnull||nums.length0)4 …

Kubectl指令集

1 Kubectl指令集 1.1 Master查询节点信息 [rootmaster1 kubernetes-1.10]# kubectl get nodes 1.2 查询所有Pod信息 [rootmaster1 ~]# kubectl get pods --namespacekube-system 1.3 查询故障的Pod信息 [rootmaster1 ~]# kubectl get pods -n kube-sys…

实验五报告

一、实验结论&#xff1a; 1. 二分查找&#xff1a;补足程序ex1_1.cpp// 练习&#xff1a;使用二分查找&#xff0c;在一组有序元素中查找数据项 // 形参是数组&#xff0c;实参是数组名 #include <stdio.h> const int N5; int binarySearch(int x[], int n, int item…