摘要:中的反轉(zhuǎn)中的反轉(zhuǎn)主要有以下三種,數(shù)字反轉(zhuǎn),字符串反轉(zhuǎn),數(shù)組的反轉(zhuǎn)數(shù)組的反轉(zhuǎn)結(jié)果字符串的反轉(zhuǎn)先將字符串轉(zhuǎn)換為數(shù)組,然后反轉(zhuǎn)數(shù)組,最后將數(shù)組轉(zhuǎn)合并為字符串結(jié)果兼容性由于存在兼容性問題,的瀏覽器可以很好的使用,但是是個(gè)問題。
js中的反轉(zhuǎn)
js中的反轉(zhuǎn)主要有以下三種,數(shù)字反轉(zhuǎn),字符串反轉(zhuǎn),數(shù)組的反轉(zhuǎn)
數(shù)組的反轉(zhuǎn)var arr = [1,2,3,4,5]; arr = arr.reverse(); console.log(arr); 結(jié)果: [5,4,3,2,1]字符串的反轉(zhuǎn)
先將字符串轉(zhuǎn)換為數(shù)組,然后反轉(zhuǎn)數(shù)組,最后將數(shù)組轉(zhuǎn)合并為字符串
var str = "hello world"; str = str.split("").reduce(function(acc, v) { return v + acc }, ""); console.log(str); 結(jié)果:"dlrow olleh"
兼容性:
由于reduce()存在兼容性問題,>ie8的瀏覽器可以很好的使用,但是ie8是個(gè)問題。
var str = "hello world"; str = str.split("").reverse().join(""); console.log(str);
既然有這么有這個(gè)兼容性更好的方法,為什么還要用reduce(),我想聰明的你應(yīng)該很清楚那就是,運(yùn)行的效率,前者的效率更高。我在自己電腦上跑的實(shí)例對(duì)比圖如下:
數(shù)字的反轉(zhuǎn)數(shù)字的反轉(zhuǎn)說起來也很簡(jiǎn)單,就是將數(shù)字轉(zhuǎn)化為字符串然后按照字符串的處理方式處理
var num = 123456789; num = num.toString().split("").reduce(function(acc, v)) { return v + acc }, ""); console.log(num); 結(jié)果:987654321針對(duì)以上3種情況的一個(gè)綜合解決方案
function objReverse(obj) { if (Object.prototype.toString.call(obj) === "[object String]") { obj = obj.split(""); return stringReverse(obj); } else if (Object.prototype.toString.call(obj) === "[object Number]") { obj = obj.toString().split(""); return +stringReverse(obj); } else if (Object.prototype.toString.call(obj) === "[object Array]") { return obj.reverse(); } function stringReverse (obj) { if(Array.prototype.reduce !== "undefined") { return obj.reduce(function(acc, v) { return v + acc; }, "") } else { return obj.reverse().join(""); } } }
歡迎吐槽 :)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/92255.html
摘要:控制反轉(zhuǎn)和依賴注入的關(guān)系也已經(jīng)清晰了,它們本質(zhì)上可以說是一樣的,只是具體的關(guān)注點(diǎn)不同。我的博客地址參考資料控制反轉(zhuǎn)和依賴注入的理解那些年搞不懂的高深術(shù)語依賴倒置控制反轉(zhuǎn)依賴注入面向接口編程控制反轉(zhuǎn)和依賴注入 序 第一次了解到控制反轉(zhuǎn)(Inversion of Control)這個(gè)概念,是在學(xué)習(xí)Spring框架的時(shí)候。IOC和AOP作為Spring的兩大特征,自然是要去好好學(xué)學(xué)的。而依賴...
摘要:總結(jié)對(duì)于原二進(jìn)制數(shù)來說,是不變,是反轉(zhuǎn)。的位數(shù)對(duì)應(yīng)原二進(jìn)制數(shù)的位數(shù),對(duì)各位進(jìn)行屏蔽,全部置。左移左移與右移比較類似,是將目標(biāo)二進(jìn)制數(shù)字向左右移動(dòng)相應(yīng)的位數(shù)。語言中的邏輯運(yùn)算符按位與,按位或,按位異或,取反,左右移位不完全手冊(cè)立創(chuàng)開源 ...
摘要:劃下重點(diǎn),服務(wù)容器是用于管理類的依賴和執(zhí)行依賴注入的工具。類的實(shí)例化及其依賴的注入,完全由服務(wù)容器自動(dòng)的去完成。 本文首發(fā)于 深入剖析 Laravel 服務(wù)容器,轉(zhuǎn)載請(qǐng)注明出處。喜歡的朋友不要吝嗇你們的贊同,謝謝。 之前在 深度挖掘 Laravel 生命周期 一文中,我們有去探究 Laravel 究竟是如何接收 HTTP 請(qǐng)求,又是如何生成響應(yīng)并最終呈現(xiàn)給用戶的工作原理。 本章將帶領(lǐng)大...
摘要:從源碼看概念與實(shí)現(xiàn)是異步編程中的重要概念,它較好地解決了異步任務(wù)中回調(diào)嵌套的問題。這些概念中有趣的地方在于,標(biāo)識(shí)狀態(tài)的變量如都是形容詞,用于傳入數(shù)據(jù)的接口如與都是動(dòng)詞,而用于傳入回調(diào)函數(shù)的接口如及則在語義上用于修飾動(dòng)詞的副詞。 從源碼看 Promise 概念與實(shí)現(xiàn) Promise 是 JS 異步編程中的重要概念,它較好地解決了異步任務(wù)中回調(diào)嵌套的問題。在沒有引入新的語言機(jī)制的前提下,這...
摘要:依賴注入是向某個(gè)類或方法注入一個(gè)值,其中所用到的原理就是控制反轉(zhuǎn)。但發(fā)現(xiàn)更多時(shí)間是在調(diào)和的源碼。里面就是從中取出這個(gè),完成控制反轉(zhuǎn)的。控制反轉(zhuǎn)的優(yōu)點(diǎn)最后來以我個(gè)人觀點(diǎn)談?wù)効刂品崔D(zhuǎn)的優(yōu)點(diǎn)吧。控制反轉(zhuǎn)為了降低項(xiàng)目耦合,提高延伸性。 本章開始來學(xué)習(xí)下Spring的源碼,看看Spring框架最核心、最常用的功能是怎么實(shí)現(xiàn)的。網(wǎng)上介紹Spring,說源碼的文章,大多數(shù)都是生搬硬推,都是直接看來的...
閱讀 938·2021-11-22 13:53
閱讀 2561·2021-10-15 09:40
閱讀 1044·2021-10-14 09:42
閱讀 3679·2021-09-22 15:59
閱讀 924·2021-09-02 09:47
閱讀 2464·2019-08-30 15:54
閱讀 1473·2019-08-29 17:14
閱讀 432·2019-08-29 15:15