最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

javascriptlastIndexOf返回指定元素在数组中的最后一个的索引

来源:懂视网 责编:小采 时间:2020-11-27 20:32:25
文档

javascriptlastIndexOf返回指定元素在数组中的最后一个的索引

javascriptlastIndexOf返回指定元素在数组中的最后一个的索引:javascript lastIndexOf 概述 lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前 查找,从 fromIndex 处开始。 javascript lastIndexOf 语法
推荐度:
导读javascriptlastIndexOf返回指定元素在数组中的最后一个的索引:javascript lastIndexOf 概述 lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前 查找,从 fromIndex 处开始。 javascript lastIndexOf 语法

javascript lastIndexOf 概述

lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前

查找,从 fromIndex 处开始。

javascript lastIndexOf 语法

arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1])

javascript lastIndexOf 参数

searchElement 被查找的元素。

fromIndex 从此位置开始逆向查找。默认为数组的长度减 1,即整个数组都被查找。如果该值大于或等于数组的长度,则整个数组会被查找。如果为负值,将其视为从数组末尾向前的偏移。即使该值为负,数组仍然会被从后向前查找。如果该值为负时,其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。

javascript lastIndexOf 描述

lastIndexOf 使用严格相等(strict equality,即 ===)比较 searchElement 和数组中的元素。

javascript lastIndexOf 实例

下例使用 lastIndexOf 定位数组中的值。

var array = [2, 5, 9, 2];
var index = array.lastIndexOf(2);
// index is 3
index = array.lastIndexOf(7);
// index is -1
index = array.lastIndexOf(2, 3);
// index is 3
index = array.lastIndexOf(2, 2);
// index is 0
index = array.lastIndexOf(2, -2);
// index is 0
index = array.lastIndexOf(2, -1);
// index is 3

下例使用 lastIndexOf 查找到一个元素在数组中所有的索引(下标),并使用 push 将所有添加到另一个数组中。

var indices = [];
var array = ['a', 'b', 'a', 'c', 'a', 'd'];
var element = 'a';
var idx = array.lastIndexOf(element);

while (idx != -1) {
 indices.push(idx);
 idx = (idx > 0 ? array.lastIndexOf(element, idx - 1) : -1);
}

console.log(indices);
// [4, 2, 0];

注意,必须单独处理 idx == 0 时的情况,因为如果元素是数组中的第一个元素,则总会被查找,忽略了 fromIndex 参数。 这点和 indexOf 方法不同。(译注:个人觉得这句话解释有问题,idx == 0时,array.lastIndexOf(element, idx - 1) 会从最后一个元素向前查找,这样就重复查找,且死循环了,所以要做一个判断,而且已经查找到第一个元素了,就该结束了)。

javascript lastIndexOf 兼容旧环境

lastIndexOf 在 ECMA-262 标准第 5 版被添加。因此它在不兼容该标准的浏览器中可能不被支持。你可以把下面代码添加到脚本中来使那些没有实现该方法的实现环境支持该方法。

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;
 };
}

另外,该实现是为了绝对兼容 Firefox 和 the SpiderMonkey JavaScript 引擎中的 lastIndexOf,包括了几种临界情况。如果你要在实际应用中使用该实现,可以忽略这些临界情况,从而简化 fromIndex 的计算。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

javascriptlastIndexOf返回指定元素在数组中的最后一个的索引

javascriptlastIndexOf返回指定元素在数组中的最后一个的索引:javascript lastIndexOf 概述 lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前 查找,从 fromIndex 处开始。 javascript lastIndexOf 语法
推荐度:
标签: 元素 在一个 指定
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top