[英]Not expected .map()/.match(regex) output
输入的第一行包含一个 integer,N。然后是 N 行。 从第二行开始,每行包含一组由一个空格分隔的 W 个单词。 对于每一行,如果对话以 hackerrank 开始,则打印 (console.log()) 1 如果对话以 hackerrank 结束,则打印 2 如果对话以 hackerrank 开始和结束,则打印 0 如果以上都不是,则打印 -1。
const processData = (input) =>
input
.split("\n")
.slice(1)
.map((line) => line.match(/^(hackerrank)\b.*(?<!\bhackerrank)$/g) ? console.log(1) : line.match(/ hackerrank$/g) ? console.log(2) : line.match(/^(hackerrank)\b(.*(?<!\bhackerrank))?$/g) ? console.log(0) : console.log(-1));
4个
我爱 hackerrank
hackerrank 是程序员的好地方
黑客排名
我认为 hackerrank 是一个聚会的好地方
2 1 0 -1(一个数字一行...我的降价很难)
2 1 0 -1 -1(一行一个数字......我的医学博士很难过)
最后一个-1 是怎么回事?
我已经在 codepen 上测试了这段代码,它可以工作,但它在 hackerrank 上不起作用
谢谢
您可以在使用filter
解析之前删除空行。
input.split("\n").slice(1).filter(Boolean)
或者,在拆分之前使用String#trim
从输入中删除前导和尾随空格。
input.trim().split("\n")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.