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.pswp.cn/news/386787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386787.shtml
英文地址,請注明出處:http://en.pswp.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;…

Feign Hystrix (HystrixCommonKey) 設置單獨接口的超時時間和FallBack

Feign設置單獨接口的超時時間和FallBack(HystrixCommonKey) HystrixCommonKey生成方法&#xff1a;類名#方法名(入參類型) final class Default implements SetterFactory { Override public HystrixCommand.Setter create(Target<?> target, Method method…

深度學習分布式訓練小結

分布式訓練本質上是為了加快模型的訓練速度&#xff0c;面對較為復雜的深度學習模型以及大量的數據。單機單GPU很難在有限的時間內達成模型的收斂。這時候就需要用到分布式訓練。 分布式訓練又分為模型并行和數據并行兩大類。 1. 數據并行 數據并行在于將不同batch的數據分別…

scrapy框架的理解

在每一次學習一個新東西之前&#xff0c;需要知道的幾個問題。這個東西是什么(what),怎么使用(how)&#xff0c;為什么(why) scrapy的概念&#xff1a;Scrapy是一個為了爬取網站數據&#xff0c;提取結構性數據而編寫的框架。 scrapy的作用&#xff1a;通過少量代碼實現快速抓取…

MAC配置JCO,與找不到sapjco3異常

①到jco官網下載jco壓縮包&#xff0c;解壓 ②把libsapjco3.jnilib 放到一個文件夾中 把該路徑配置到環境變量中 ③項目運行有可能會出現異常&#xff1a;找不到 sapjco3 &#xff1b; 第一種解決方式&#xff1a;配置虛擬機參數&#xff1a;-Djava.library.path之前環境變量路…

You must install pydot and graphviz for plotmodel to work報錯如何處理

本文主要記錄windows-anaconda環境下關于使用tensorflow.keras.utils.plot_model()方法時提示安裝pydot 和 graphviz的解決方法。 pydot的安裝非常簡單&#xff0c;進入anaconda python環境中&#xff0c;用pip進行安裝就可以了。 graphviz包的安裝就要稍顯復雜一些。 首先我們…

Java高并發之BlockingQueue

前言碎語 當系統流量負載比較高時&#xff0c;業務日志的寫入操作也要納入系統性能考量之內&#xff0c;如若處理不當&#xff0c;將影響系統的正常業務操作&#xff0c;之前寫過一篇《spring boot通過MQ消費log4j2的日志》的博文&#xff0c;采用了RabbitMQ消息中間件來存儲抗…

python中文字符串轉list

本文主要記錄了將中文字符串轉換為list的過程&#xff0c;其中我們使用了keras preprocessing中的text_to_word_sequence方法。這個方法是完全適配中文的。需要注意的是&#xff0c;中文語料一般字符之間是沒有空格分割的&#xff0c;這與英文是不同的。如下所示&#xff0c;如…

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…

python list pop方法

通過使用pop方法可以直接刪除列表中的某一個對應元素并返回該元素值 s [a, b, c, d] # 通過使用pop方法可以移除list中的一個元素并返回它的值 result s.pop(1) print(result) print(s)結果如下 b [a, c, d]

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文件&…

Leetcode 反轉字符串 II python解法

題干&#xff1a; 給定一個字符串 s 和一個整數 k&#xff0c;從字符串開頭算起&#xff0c;每計數至 2k 個字符&#xff0c;就反轉這 2k 字符中的前 k 個字符。 如果剩余字符少于 k 個&#xff0c;則將剩余字符全部反轉。 如果剩余字符小于 2k 但大于或等于 k 個&#xff0c;…

下拉插件 (帶搜索) Bootstrap-select 從后臺獲取數據填充到select的 option中 用法詳解...

今天收到了客戶的需求&#xff0c;要求在新增停車場ID的時候要從數據庫查出來對應的停車場名稱然后顯示在界面上。保存的時候按照停車場ID進行保存。 自己首先把后臺的部分寫完了&#xff0c;測試了接口數據。成功的拿到了ajax數據。 接下來&#xff0c;自己用了select下拉標簽…

pytorch tensorboard基本用法整理

from torch.utils.tensorboard import SummaryWriterif __name__ __main__:aa SummaryWriter(logs) # 創建保存了summarywriter的log目錄for i in range(100):aa.add_scalar(y x, i, i) # 后兩個參數先y軸后x軸 x軸往往是global step y軸用于輸出loss或者其他需要觀察的變量…

php 支付寶付款接口測試

詳細去這里&#xff1a;https://blog.csdn.net/suprezheng/article/details/84931225 轉載于:https://www.cnblogs.com/LF-place/p/10898357.html

spring boot mybatis攔截器

mybaits攔截器 package com.chinamobile.scm.masterdata.interceptor;import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.executor.parameter.ParameterHandler; import org.apach…

Linux自有服務(2)-Linux從入門到精通第六天(非原創)

文章大綱 一、設置主機名二、chkconfig三、ntp服務四、防火墻服務五、rpm管理&#xff08;重點&#xff09;六、cron/crontab計劃任務&#xff08;重點&#xff09;七、學習資料下載八、參考文章 自有服務&#xff0c;即不需要用戶獨立去安裝的軟件的服務&#xff0c;而是當系統…