一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JS暴虐查找法簡潔版

       例如在一個含500個字符串的data數組里,我們想要找到一個指定的字符(key),返回它的數組下標,如果用這樣的算法:
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() 方法返回代置符號在這個字符串中的位置,而這個位置恰恰也就是在原來數組中的數組下標。 

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]

JavaScript技術JS暴虐查找法簡潔版,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久怡红院亚欧成人影院 | 亚洲综合国产 | 免费国产成人手机在线观看 | 在线小视频 | 成人97在线观看免费高清 | 色综合久久88 | 激情图片激情文学 | 91精品视频在线观看免费 | 国产第一页精品 | 99国产福利| 午夜视频在线看 | 欧美丝袜xxxxx在线播放 | 视频一区 中文字幕 | 亚洲免费二区 | 小说区图片区视频区 | 91亚洲成人 | 激情在线视频 | 五月激情综合丁香色婷婷 | 狠狠色伊人亚洲综合第8页 狠狠色伊人亚洲综合网站l | 四虎现在的网址入口2022 | 成人免费观看在线视频 | 免费观看色| 国产成人精品视频频 | 99re久久精品国产首页2020 | 中文字幕在线一区二区在线 | 国产精品亚洲四区在线观看 | 深夜影院深a | 国产亚洲精品高清在线 | 久久中文精品 | 一区二区三区国产精品 | 久久成年片色大黄全免费网站 | 国产午夜在线观看 | 久久久久久久久一级毛片 | 狠狠色丁香久久综合五月 | 在线亚洲精品国产成人二区 | 色婷婷六月天 | 日韩中文字幕精品免费一区 | 一道本加勒比 | 日韩亚洲欧美综合一区二区三区 | 一区二三国产 | 在线一区观看 |