如果这个问题太简单,我很抱歉,我才刚刚开始使用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);