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

j0pj023g  于 2021-09-13  发布在  Java
关注(0)|答案(4)|浏览(298)

如果这个问题太简单,我很抱歉,我只是刚刚开始使用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年)。
我在脑子里想使用。通过使用空格作为定界符进行分割,然后使用length-1得到最后一个元素。但我的实现不断抛出错误。
我试过:

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

请让我知道我做错了什么。准备把头发拔出来。
提前感谢您的关注!

b5lpy0ml

b5lpy0ml1#

只需将其按空格分割,并获取结果数组中的最后一项:

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);
11dmarpk

11dmarpk2#

我的挑战是仅从阵列中的每个元素中获取年份(因此我需要获取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()))
vcirk6k6

vcirk6k63#

把头发戴在头上,跟我来:
在第二行,变量“fromdatesplit”试图拆分数组,而不是字符串。拆分方法属于字符串对象。因此,您可以尝试迭代数组,并对迭代的当前元素应用拆分。这样地:

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

ttp71kqs4#

您还可以使用查找字符串中的最后一个空格 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);

相关问题