获取数组中的最后一项

2022-08-29 21:57:00

以下是我到目前为止的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"


答案 1
if (loc_array[loc_array.length - 1] === 'index.html') {
   // do something
} else {
   // something else
}

如果您的服务器为“index.html”和“inDEX.htML”提供相同的文件,您也可以使用:。.toLowerCase()

不过,如果可能的话,你可能需要考虑在服务器端做这件事:它会更干净,对没有JS的人来说是有效的。


编辑 - ES-2022

使用ES-2022 Array.at(),上述内容可以这样写:

if (loc_array.at(-1) === 'index.html') {
   // do something
} else {
   // something else
}

答案 2

不确定是否有缺点,但这似乎很简洁:

arr.slice(-1)[0] 

arr.slice(-1).pop()

如果数组为空,则两者都将返回。undefined