以下是我迄今为止的JavaScript代码:

var linkElement = document.getElementById("BackButton");
var loc_array = document.location.href.split('/');
var newT = document.createTextNode(unescape(capWords(loc_array[loc_array.length-2]))); 
linkElement.appendChild(newT);

目前,它从URL中获取数组中倒数第二项。但是,我想检查数组中的最后一个项目是否为“index.html”,如果是这样,则获取倒数第三个项目。


当前回答

简单的回答

const array = [1,2,3]
array[array.length - 1]

其他回答

此方法不会干扰原型。它还防止0长度数组以及空/未定义数组。如果返回的默认值可能与数组中的项相匹配,您甚至可以重写默认值。

常量项=[1,2,3]常量noItems=[]/***返回数组中的最后一项。*如果数组为null、undefined或空,则返回默认值。*/函数arrayLast(arrayOrNull,defVal=未定义){if(!arrayOrNull | | arrayOrNull.length==0){返回defVal}return arrayOrNull[arrayOrNull.length-1]}console.log(arrayLast(项))console.log(arrayLast(noItems))console.log(arrayLast(null))console.log(arrayLast(items,'someDefault'))console.log(arrayLast(noItems,'someDefault'))console.log(arrayLast(null,'someDefault'))

使用lodash_.last(array)获取数组的最后一个元素。

数据=[1,2,3]last=_.last(数据)console.log(最后一个)<script src=“https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js“></script>

要防止从原始阵列中删除最后一项,可以使用

Array.from(myArray).pop()

主要支持所有浏览器(ES6)

@chaiguy发布内容的简短版本:

Array.prototype.last = function() {
    return this[this.length - 1];
}

读取-1索引已返回undefined。

编辑:

如今,人们倾向于使用模块,避免接触原型或使用全局命名空间。

export function last(array) {
    return array[array.length - 1];
}

您也可以在不从url中提取数组的情况下实现此问题

这是我的选择

var hasIndex = (document.location.href.search('index.html') === -1) ? doSomething() : doSomethingElse();

!问候语