gpt4 book ai didi

javascript - JavaScript 查询中的 String.format

转载 作者:行者123 更新时间:2023-11-29 19:09:18 26 4
gpt4 key购买 nike

我正在尝试将 java 代码写入 javascript。

public static String generateTimeRange( start,  end) {
return String.format("%02d:%02d-%02d:%02d", start / 60, start % 60, end / 60, end % 60);
}

Basically this will return a time 00:10 - 00:20 (if 10 and 20 are arguments)

我想用 javascript 编写相同的函数,但遇到困难。有人可以帮忙吗?

function generateTimeRange( start,  end) {
return String.format("{0}:{1}-{2}:{3}", start / 60, start % 60, end / 60, end % 60);
}

由于 javascript 没有 String.format,我使用了以下代码:

if (!String.format) {
String.format = function(format) {
var args = Array.prototype.slice.call(arguments, 1);
return format.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
}

但它有点打印以下内容

generateTimeRange(10,20);
"0.16666666666666666:10-0.3333333333333333:20"

看来我没有做 %02d。我如何在 JavaScript 中执行此操作?

谢谢

最佳答案

您可以只返回一个连接字符串,也可以使用 Template literals 来完成

function generateTimeRange(start, end) {
return Math.floor(start / 60) + ":" + Math.floor(start % 60) + "-" + Math.floor(end / 60) + ":" + Math.floor(end % 60);
}

function generateTimeRangeInterpolation(start, end) {
var sPrefix = Math.floor(start / 60),
start = Math.floor(start % 60),
ePrefix = Math.floor(end / 60),
end = Math.floor(end % 60);

return `${sPrefix}:${start}-${ePrefix}:${end}`
}

console.log(generateTimeRange(10, 20));
console.log(generateTimeRangeInterpolation(10, 20));

关于javascript - JavaScript 查询中的 String.format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com