麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > JS > 正文

JS暴虐查找法

2024-09-06 12:44:10
字體:
來源:轉載
供稿:網友
有過相關經驗的朋友都知道,Jscript的效率畢竟有限,在數組中查找數據時如果用常規的算法來做執行起來會很慢。
例如在一個含500個字符串的data數組里,我們想要找到一個指定的字符(key),返回它的數組下標,如果用這樣的算法:
[Copy to clipboard]CODE:
function usual_search(data,key)
{
var m=data.length
for(i=0;i<m;i++)
{if(data[i]==key)return i}
}
由于需要做多次的比較,運算起來會相當的慢。
本主題要介紹的是一種充分利用Jscript內置方法來實現在數組中查找數據的方法,由于借助Jscript內置方法,其效率要遠優于上述常規算法。為了(詼諧|唬人)起見,我命其名為“JS暴虐查找法”。
這種查找法對于數組元素有一個要求:就是數組元素的內容不得包含半角逗號(,)及我們指定的某一個代置符號(例如,在下面的示例中,我們指定代置符號為一個制表符“┢”)。在事先構建、維護數組時要注意滿足這一要求。
JS暴虐查找法的思路是非常簡單的,原則只有一個,就是要“充分利用Jscript內置方法”:
       我們首先利用 Array 對象的 toString() 方法產生一個包含數組元素的字符串,在這個字符串中各數組元素由半角逗號(,)分隔的,所以我們事先要求數組元素的內容不得包含半角逗號。
       隨后利用 String 對象的 replace() 方法將這個字符串中所包含的我們要找的關鍵字符串替換成我們指定的一種特殊符號(代置符號),一般選擇一個不常用的字符來充當代置符號,在下面示例中我使用了一個制表符(┢),只要是能夠確保不會在數組元素中出現的符號都可以充當代置符號。
       接下來就是我們最暴虐的一步了,還是用 replace() 方法,去除半角逗號(,)和代置符號(┢)以外的所有字符。統統去干凈以后這個字符串就變成了一串半角逗號之中包含著一個代置符號(這模樣:,,,,,,,,,,,,,,,,┢,,,,,,,,,)。
       最后,用 String 對象的 indexOf() 方法返回代置符號在這個字符串中的位置,而這個位置恰恰也就是在原來數組中的數組下標。
Jscript示例程序

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕11 | 久国产| 最新av网址在线观看 | 久久艳片 | 青青草成人影视 | 成人不卡免费视频 | 久久亚洲网 | 久久国产精品二区 | 福利在线免费 | 古装三级在线观看 | 日本中文高清 | 一级黄色毛片免费 | pornoⅹxxxxhd麻豆 | 欧美一区二区精品夜夜嗨 | xxxx69hd一hd | 性 毛片 | 欧美福利视频一区二区三区 | 国产精品久久久免费看 | 特黄一级小说 | 欧美 日韩 国产 成人 | 黄色成人av在线 | 一区二区三区欧美在线 | 国产宾馆3p国语对白 | 国产一级二级在线播放 | 久草在线视频福利 | 国产一区网址 | 91精品国产99久久久久久红楼 | 韩国十九禁高潮床戏在线观看 | 欧美一级黄 | 天天看夜夜爽 | 一级看片免费视频 | 久久久综 | 精品国产一区二区三区四 | 亚洲欧洲日产v特级毛片 | 国产又白又嫩又紧又爽18p | 国产一级毛片网站 | 久久成人在线观看 | 91精品国产92久久久久 | 色播一区 | 99视频有精品视频高清 | 久久久一区二区精品 |