编辑:我的代码有效[em] -console.logging
时我刚打过错。它使用答案here中已经发现的相同技术。
我有一个函数应该删除字符串中逗号后的所有内容:
function shortenToDate(longDate) {
let newDate = longDate.substring(0, longDate.indexOf(","));
return newDate;
}
^您只需要从0索引到indexOf()
的字符串的第一个实例中取出一个块,然后再删除所有字符即可。
我也尝试过:
function shortenToDate(longDate) {
return longDate.substring(longDate.indexOf(0, ","));
}
console.log(shortenToDate(shortenToDate("Friday May 2, 9am")));
没有任何效果。它刚刚返回Friday May 2, 9am
。
答案 0 :(得分:2)
您可以简单地使用split并获取0 th 索引
const shortenToDate = longDate => longDate.split(',',1)[0];
console.log(shortenToDate("Friday May 2, 9am"))
问题
在您使用的第一个代码段中
longDate.substring(longDate.indexOf(","), longDate.length -1);
但是您想要从0 th 索引
const shortenToDate =>longDate => longDate.substring(0,longDate.indexOf(","));
console.log(shortenToDate("Friday May 2, 9am"))
答案 1 :(得分:2)
使用String.prototype.split()和Array.prototype.shift()怎么样?
function shortenToDate(longDate) {
let newDate = longDate.split(',');
return newDate.shift();
}
console.log(shortenToDate("Friday May 2, 9am"))
答案 2 :(得分:0)
使用正则表达式可能会更容易-匹配逗号,后跟任意字符,并替换为空字符串:
const shortenToDate = longDate => longDate.replace(/,.*/, '');
console.log(shortenToDate("Friday May 2, 9am"))