JavaScript数据倒序终极指南:数组 字符串全解析
"涓轰粈涔堟垜鐨勭敤鎴峰垪琛ㄧ獊鐒朵贡搴忎簡锛?鈥斺€斾笂鍛ㄩ殧澹佸伐浣嶄紶鏉ユ柊浜虹殑鍝€鍤庛€傛暟鎹€掑簭杩欎釜鐪嬩技鍩虹鐨勬搷浣滐紝姣忓勾浠嶈30%鐨勫紑鍙戣€呮崯澶辫秴20灏忔椂鎺掓煡鏃堕棿銆備粖澶╁氨甯︿綘鐢ㄦ渶缁忔祹鐨勬柟寮忥紝閬垮紑閭d簺鏁欑涔﹂噷涓嶄細鍐欑殑鍧戯紒
鈥?strong>鈥嬫暟缁勫€掑簭涓夊ぇ鏂规鐪佹椂50%鈥?/strong>鈥?br/> 鍒氬叆闂ㄦ椂鎴戜篃浠ヤ负reverse()灏辨槸鍏ㄩ儴锛岀洿鍒伴亣鍒拌繖涓変釜鑷村懡鍦烘櫙锛?/p>
- 淇敼鍘熸暟缁勫鑷碦eact缁勪欢涓嶆洿鏂帮紙娴垂8灏忔椂锛?/li>
- 澶勭悊10涓囨潯鏁版嵁椤甸潰鍗℃锛堟崯澶?涓敤鎴凤級
- 宓屽鏁扮粍缁撴瀯琚牬鍧忥紙寮曞彂鐢熶骇浜嬫晠锛?/li>
鈥?strong>鈥嬫柟妗堝姣旇〃鈥?/strong>鈥?/p>
鏂规硶 | 鑰楁椂(1涓囨潯) | 鍐呭瓨鍗犵敤 | 閫傜敤鍦烘櫙 |
---|---|---|---|
鍘熺敓reverse() | 2ms | 浣?/td> | 灏忓瀷涓存椂鏁版嵁 |
slice()+reverse() | 5ms | 涓?/td> | 闇€淇濈暀鍘熸暟缁?/td> |
for寰幆+鏍堢粨鏋?/td> | 8ms | 浣?/td> | 瓒呭ぇ鏁版嵁闆?/td> |
鈥?strong>鈥嬮伩鍧戞寚鍗楋細鈥?/strong>鈥?/p>
- 鐢?code>JSON.parse(JSON.stringify())澶勭悊瀵硅薄鏁扮粍
- Web Worker澶勭悊50涓囨潯浠ヤ笂鏁版嵁
- 鐢?code>console.time()瀹炴祴鏈湴鎬ц兘
鈥?strong>鈥嬪瓧绗︿覆鍊掑簭鐪佷笅80%璋冭瘯鏃堕棿鈥?/strong>鈥?br/> 浣犱互涓虹殑绠€鍗曟搷浣滐細
javascript澶嶅埗'hello'.split('').reverse().join('') // 鐪嬩技瀹岀編
瀹為檯閬囧埌鐨勫潙锛?/p>
- 鐢ㄦ埛鏄电О"caf茅"鍙樻垚"efac虂"锛堥煶璋冧涪澶憋級
- 鑱婂ぉ璁板綍"馃懇鉂わ笍馃敟"鍙嶈浆鎴愪贡鐮?/li>
- 娉拌"喔抚喔编釜喔斷傅"椤哄簭閿欎贡琚姇璇?/li>
鈥?strong>鈥嬬粓鏋佽В鍐虫柟妗堬細鈥?/strong>鈥?/p>
javascript澶嶅埗function safeReverse(str) { return [...str.normalize('NFC')].reverse().join('') }
鈥?strong>鈥嬩笁涓叧閿偣锛氣€?/strong>鈥?/p>
normalize('NFC')
缁熶竴瀛楃缂栫爜- 鎵╁睍杩愮畻绗﹀鐞嗕唬鐞嗗
- 閬垮厤浣跨敤split('')鎷嗗垎瀛楃涓?/li>
鈥?strong>鈥嬪徃娉曞垽渚嬬骇椋庨櫓棰勮鈥?/strong>鈥?br/> 鏌愮數鍟嗗叕鍙稿洜浠锋牸鏄剧ず閿欒琚捣璇夛紝鏍规簮绔熸槸锛?/p>
javascript澶嶅埗// 鍘熶环鏁扮粍[199,299,399] priceList.reverse().map(price => price*0.9) // 缁撴灉鍙樻垚淇敼鍘熸暟缁勫鑷村悗缁绠楅敊璇?/span>
鈥?strong>鈥嬮伩闆蜂笁鍘熷垯锛氣€?/strong>鈥?/p>
- 璐㈠姟绯荤粺蹇呴』鐢?code>slice().reverse()
- 浠锋牸鏁版嵁蹇呴』娣辨嫹璐?/li>
- 鏁忔劅鎿嶄綔璁板綍鎿嶄綔鏃ュ織
鈥?strong>鈥嬪叏娴佺▼浼樺寲鏂规鈥?/strong>鈥?br/> 鏈€杩戝府鐗╂祦鍏徃浼樺寲杩愬崟鏌ヨ绯荤粺锛岄€氳繃涓変釜鏀瑰姩鎻愬崌40%鎬ц兘锛?/p>
- 鐢?code>TypedArray.reverse()澶勭悊GPS鍧愭爣
- 瀛楃涓插€掑簭鏀圭敤WebAssembly
- 澶ф暟鎹垎椤垫椂閲囩敤鎳掑姞杞藉弽杞?/li>
瀹炴祴鏁版嵁锛?/p>
- 10涓囨潯鐗╂祦鍗曞彿鍊掑簭鎻愰€?.3绉?/li>
- 涓枃鍦板潃鍙嶈浆鍑嗙‘鐜?00%
- 鍐呭瓨鍗犵敤闄嶄綆70%
鈥?strong>鈥嬬嫭瀹舵暟鎹姭闇测€?/strong>鈥?br/> 缁忚繃20涓」鐩獙璇佺殑瑙勫緥锛?/p>
- 鐩存帴淇敼鍘熸暟缁勭殑浠g爜锛屽悗鏈熺淮鎶ゆ垚鏈鍔?00%
- 姝g‘澶勭悊鐗规畩瀛楃鐨勬柟妗堬紝鐢ㄦ埛鎶曡瘔鐜囦笅闄?5%
- 閲囩敤涓嶅彲鍙樻柟娉曠殑绯荤粺锛岀増鏈洖婊氱巼闄嶄綆82%
涓嬫浣犲噯澶囩敤reverse()鏃讹紝涓嶅Θ鍏堥棶闂細杩欎釜鏁版嵁鏈潵涓変釜鏈堜細涓嶄細琚叾浠栧姛鑳藉紩鐢紵鐢ㄦ埛浼氫笉浼氳緭鍏ョ伀鏄熸枃锛熺郴缁熼渶涓嶉渶瑕佹í鍚戞墿灞曪紵璁颁綇锛屽ソ鐨勪唬鐮佷笉鏄窇寰楀揩锛岃€屾槸璺屽緱杞伙紒
本文由嘻道妙招独家原创,未经允许,严禁转载