如何拆分具有多个元素的数组以获得JavaScript中的最后一项



如果这个问题太简单,我很抱歉,我才刚刚开始使用JavaScript。我有以下问题:函数返回的数组类似于:

[
"Wed Feb 24 11:39:01 CST 2021",
"Thu Mar 21 18:35:30 CDT 2019",
"Tue Feb 26 15:23:50 CST 2019"
]

我的挑战是从数组中的每个元素中只获取年份(所以我需要获取2021、2019和2019(。

我在脑子里想用.split,用空格作为分隔符,然后用length-1得到最后一个元素。但是我的实现不断抛出错误。

我试过了:

var fromDate = $dateList[*].dates
var fromDateSplit = fromDate.split(' ');
var fromYear = fromDateSplit[fromDateSplit.length - 1]

请让我知道我做错了什么。准备拔头发。

提前感谢您的观看!

只需用空格将其拆分,即可获得结果数组中的最后一项:

const a = [
"Wed Feb 24 11:39:01 CST 2021",
"Thu Mar 21 18:35:30 CDT 2019",
"Tue Feb 26 15:23:50 CST 2019"
]
const b = a.map(e => e.split(" ").slice(-1)[0]);
console.log(b);

我的挑战是从每个元素中只获取年份在数组中(所以我需要获取2021、2019和2019(。

使用一个简单的循环和new Date(v).getFullYear()

const arr = [
"Wed Feb 24 11:39:01 CST 2021",
"Thu Mar 21 18:35:30 CDT 2019",
"Tue Feb 26 15:23:50 CST 2019"
]
console.log(arr.map(v => new Date(v).getFullYear()))

保持你的头发在你的头上,跟随我:

在第二行,变量"fromDateSplit"试图拆分数组,而不是字符串。split方法属于字符串对象。因此,您可以尝试对数组进行迭代,并在迭代的当前元素上应用拆分。像这样:

var array = [
"Wed Feb 24 11:39:01 CST 2021",
"Thu Mar 21 18:35:30 CDT 2019",
"Tue Feb 26 15:23:50 CST 2019"
]
array.forEach(element => {
var fromDateSplit = element.split(' ');
var fromYear = fromDateSplit[fromDateSplit.length - 1];
console.log(fromYear);
});

您还可以使用string.lastIndexOf(" ")查找字符串中的最后一个空格,然后获取后面的空格。

const a = [
"Wed Feb 24 11:39:01 CST 2021",
"Thu Mar 21 18:35:30 CDT 2019",
"Tue Feb 26 15:23:50 CST 2019"
]
const years = a.map((e) => e.substring(e.lastIndexOf(" ")));
console.log(years);

最新更新