亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

詳解JavaScript中數組和字符串的lastIndexOf()方法使用

2019-11-20 10:23:46
字體:
來源:轉載
供稿:網友

Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的實用的方法,不過很多人不知道它其實可以傳遞兩個參數,第二個參數決定了搜索的起始位置:

語法

str.lastIndexOf(searchValue[, fromIndex])

lastIndexOf() 方法返回指定值在調用該方法的字符串中最后出現的位置,如果沒找到則返回 -1。從該字符串的后面向前查找,從 fromIndex 處開始。

參數

1.searchValue
一個字符串,表示被查找的值。
2.fromIndex
從調用該方法字符串的此位置處開始查找。可以是任意整數。默認值為 str.length。如果為負值,則被看作 0。如果 fromIndex > str.length,則 fromIndex 被看作 str.length。

區分大小寫

lastIndexOf 方法區分大小寫。例如,下面的表達式返回 -1:

"Blue Whale, Killer Whale".lastIndexOf("blue"); // returns -1

lastIndexOf的用法

// Create an array.var ar = ["ab", "cd", "ef", "ab", "cd"];// 找到最后一個CD的位置document.write(ar.lastIndexOf("cd") + "<br/>");// 輸出: 4// 從正數第二個位置,搜索倒數第一個CD的位置document.write(ar.lastIndexOf("cd", 2) + "<br/>");// 輸出: 1// 從倒數第三個搜索最后一個ab的位置document.write(ar.lastIndexOf("ab", -3) + "<br/>");// 輸出: 0

同樣 String.lastIndexOf的用法類似

"canal".lastIndexOf("a") // returns 3"canal".lastIndexOf("a",2) // returns 1"canal".lastIndexOf("a",0) // returns -1 從第0個往前搜,不存在'a',返回-1"canal".lastIndexOf("x") // returns -1

lastIndexOf的IE8實現

不過微軟的IE8及其以下并不支持Array.lastIndexOf,需要兼容實現??梢詤⒖迹?/p>

if (!Array.prototype.lastIndexOf) { Array.prototype.lastIndexOf = function(searchElement /*, fromIndex*/) { 'use strict'; if (this === void 0 || this === null) {  throw new TypeError(); } var n, k,  t = Object(this),  len = t.length >>> 0; if (len === 0) {  return -1; } n = len - 1; if (arguments.length > 1) {  n = Number(arguments[1]);  if (n != n) {  n = 0;  }  else if (n != 0 && n != (1 / 0) && n != -(1 / 0)) {  n = (n > 0 || -1) * Math.floor(Math.abs(n));  } } for (k = n >= 0   ? Math.min(n, len - 1)   : len - Math.abs(n); k >= 0; k--) {  if (k in t && t[k] === searchElement) {  return k;  } } return -1; };}

可以使用 ES5-Slim 使舊版瀏覽器完全兼容ES5語法。

為什么要避免使用for in

不過要注意的是,在Array.prototype上面附加方法后,for in語法也會把lastIndexOf方法也枚舉出來:

for (var idx in [1,3,5,7,9]) { console.log(idx)}>> 0 1 2 3 4 lastIndexOf

而應該使用 for loop實現

for (var idx = 0; idx < [1,3,5,7,9].length; idx++) { console.log(idx)}

這個問題可以使用 Object.defineProperty 來實現,來避免for in的枚舉出lastIndexOf方法:

Object.defineProperty(Array, "lastIndexOf", { enumerable: false })

不過一般需要兼容實現的瀏覽器根本不支持defineProperty 方法。并且在多數瀏覽器上for in都比for loop要慢很多,因此應該盡量避免使用for in。但是如何枚舉Object屬性的key呢? 使用Object.keys({ a:1 })即可返回關于keys的數組。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一区中文字幕乱码| 国产97人人超碰caoprom| 亚洲成人中文字幕| 亚洲免费视频观看| 亚洲精品一区二区三区不| 久久不射热爱视频精品| 色偷偷噜噜噜亚洲男人的天堂| 亚洲一区999| 欧美极品少妇xxxxⅹ裸体艺术| 免费91在线视频| 国产精品一久久香蕉国产线看观看| 欧美人成在线视频| 国产小视频国产精品| 国产在线播放91| 色狠狠久久aa北条麻妃| 91在线高清免费观看| 538国产精品视频一区二区| 2019中文字幕免费视频| 国产精品黄色av| 91在线精品视频| 国产精品第一页在线| 亚洲欧美一区二区精品久久久| 亚洲福利在线观看| 一本大道香蕉久在线播放29| 欧美激情日韩图片| 精品国产一区av| 国内伊人久久久久久网站视频| 国产精品爽黄69天堂a| 久久手机免费视频| 中文字幕成人精品久久不卡| 深夜精品寂寞黄网站在线观看| 91探花福利精品国产自产在线| 日本久久久久久久| 97久久国产精品| 欧美色图在线视频| 久久免费精品视频| 国产精品嫩草影院一区二区| 国产午夜精品久久久| 中日韩午夜理伦电影免费| 日韩av网址在线| 欧美成人激情图片网| 精品久久久久久中文字幕大豆网| 高清在线视频日韩欧美| 国产伊人精品在线| 国产在线观看91精品一区| 欧美在线观看网站| 亚洲级视频在线观看免费1级| 欧美日韩亚洲高清| 国产亚洲精品久久久久久| 亚洲国产三级网| 久久五月天色综合| 日韩电影中文字幕在线观看| 国产女人18毛片水18精品| 色综合久久88| 久久久久久免费精品| 亚洲精品久久久一区二区三区| 欧美大片免费看| 在线成人激情黄色| 精品久久久久久久久久久久| 国产精品久久一区主播| 欧美一区二区影院| 亚洲国产精品国自产拍av秋霞| 亚洲国产精品va在线看黑人动漫| 在线视频欧美日韩精品| 国产精品电影网| www.久久色.com| 国产自产女人91一区在线观看| 久久久亚洲国产| 91av在线影院| 欧美在线观看网站| 尤物yw午夜国产精品视频明星| 欧美美最猛性xxxxxx| 亚洲国产精品字幕| 久久久亚洲精选| 国产又爽又黄的激情精品视频| 911国产网站尤物在线观看| www.日本久久久久com.| 欧美国产日韩中文字幕在线| 亚洲小视频在线观看| 亚洲缚视频在线观看| 2024亚洲男人天堂| 丝袜美腿精品国产二区| 久久久国产精彩视频美女艺术照福利| 中文亚洲视频在线| 日韩av影视综合网| 亚洲日韩中文字幕在线播放| x99av成人免费| 亚洲一区亚洲二区亚洲三区| 日韩欧美视频一区二区三区| 久久久精品一区| 欧美激情精品久久久久久大尺度| 国产美女精品视频免费观看| 中文字幕视频一区二区在线有码| 欧美久久久精品| 国产欧美一区二区三区久久人妖| 日韩视频精品在线| 伊人久久久久久久久久| 成人激情av在线| 高跟丝袜一区二区三区| 97香蕉久久夜色精品国产| 欧美亚洲第一页| 色哟哟入口国产精品| 亚洲图片欧美日产| 欧美日韩国产中文精品字幕自在自线| 亚洲国产精品va| 一区二区三区黄色| 日韩一区二区福利| 日韩电影中文 亚洲精品乱码| 国产做受高潮69| 欧美在线不卡区| 国产成人高潮免费观看精品| 久久99久国产精品黄毛片入口| 精品国产视频在线| 亚洲综合自拍一区| 91在线观看免费网站| 欧美一区二区三区艳史| 成人av资源在线播放| 国产免费一区二区三区在线能观看| 久久久久久噜噜噜久久久精品| 国语自产精品视频在免费| 欧美黑人视频一区| 国产色综合天天综合网| 日本国产精品视频| 91在线高清视频| 日韩欧美成人网| 欧美在线视频网站| 国产精品永久免费视频| 一区二区三区四区视频| 日韩av在线直播| 美日韩精品视频免费看| 国产精品麻豆va在线播放| 亚洲一级一级97网| 国产精品视频播放| 一本色道久久88综合日韩精品| 久久久成人av| 亚洲尤物视频网| 亚洲国产一区自拍| 欧美另类高清videos| 日本精品视频在线播放| 2019日本中文字幕| 国产精品男人爽免费视频1| 国产精品第一第二| 亚洲欧美色婷婷| 日韩欧美精品在线观看| 日韩中文字幕在线播放| 性视频1819p久久| 亚洲图片制服诱惑| 中文字幕欧美国内| 中文字幕日韩精品在线观看| 日本亚洲精品在线观看| 色综合色综合久久综合频道88| 亚洲人成网在线播放| 九色成人免费视频| 欧美尺度大的性做爰视频| 韩国v欧美v日本v亚洲| 日韩欧美aaa| 日韩中文字幕网站| 日本sm极度另类视频| 91精品国产91久久久久久| 色多多国产成人永久免费网站| 国产精品视频色| 国产精品高精视频免费| 国产午夜精品全部视频播放| 久久6免费高清热精品|