我有一个项目,我需要将一个ID分成两个单独的ID。 第一个ID的静态长度为20个字符,第二个为可变。
我目前有以下代码:
mergedUUID = "12345678902345678900123";
const serverUUIDlength = 20;
const cameraId = mergedUUID.slice(serverUUIDlength);
const deviceId = mergedUUID.substring(serverUUIDlength);
导致deviceId
为12345678902345678900
和cameraId
123
。
但这感觉很“愚蠢”,我使用这两种不同的方法,尽管它们实际上是相同的,有没有更好(更干净)的方法?
答案 0 :(得分:0)
您正在混淆两种不同的方法。虽然它们确实很相似,但是它们之间还是有细微的差别。
substring
具有“始终”工作的简便方法。例如,如果给定的startIndex
大于endIndex
,它将交换参数。在这种情况下,切片将返回一个空字符串。
示例代码:
var text = 'Mozilla';
console.log(text.substring(5, 2)); // => "zil"
console.log(text.slice(5, 2)); // => ""
回答您的问题;您应该考虑使用一种方法,而不是两种。那是更好的方法。
有关其他文档,请click here。
答案 1 :(得分:0)
您可以从一个开始切片,另一个从给定位置切片。
var mergedUUID = "12345678902345678900123",
serverUUIDlength = 20,
deviceId = mergedUUID.slice(0, serverUUIDlength),
cameraId = mergedUUID.substring(serverUUIDlength);
console.log(deviceId);
console.log(cameraId);