【发布时间】:2022-01-14 11:11:58
【问题描述】:
我有以下文字:
LOG: time="2021-12-09T16:55:25+01:00" level=debug msg="???? GetLatestBlock called" blockHeight=3 blockID=ee98016d268630db54b814d18d0127edac8cc36f90d193c0c6f5fd4909bbd8b1
,LOG: time="2021-12-09T16:55:25+01:00" level=debug msg="???? GetAccountAtLatestBlock called" address=f8d6e0586b0a20c7
,LOG: time="2021-12-09T16:55:26+01:00" level=debug msg="️✉️ Transaction submitted" txID=5a46897e60f13ee68e11ef754983fefe9ec7bc8a2ca6079f0665e404138735e9
,LOG: time="2021-12-09T16:55:26+01:00" level=info msg="⭐ Transaction executed" computationUsed=6 txID=5a46897e60f13ee68e11ef754983fefe9ec7bc8a2ca6079f0665e404138735e9
,LOG: time="2021-12-09T16:55:26+01:00" level=debug msg="\x1b[1;34mLOG\x1b[0m \x1b[2m[5a4689]\x1b[0m \"Hello from Emulator\""
time="2021-12-09T16:55:26+01:00" level=debug msg="\x1b[1;34mLOG\x1b[0m \x1b[2m[5a4689]\x1b[0m 0x1cf0e2f2f715450"
time="2021-12-09T16:55:26+01:00" level=debug msg="\x1b[1;34mLOG\x1b[0m \x1b[2m[5a4689]\x1b[0m 0x179b6b1cb6755e31"
time="2021-12-09T16:55:26+01:00" level=debug msg="???? Block #4 committed" blockHeight=4 blockID=5fd780a98baad6d30f66cf75e76c3e1c9398097a9bb2e3f239f0cd7e166f6932
,LOG: time="2021-12-09T16:55:26+01:00" level=debug msg="???? GetTransactionResult called" txID=5a46897e60f13ee68e11ef754983fefe9ec7bc8a2ca6079f0665e404138735e9
存储在一个名为transactionLogs的变量中(所以你看到的输出是console.log(transactionLogs)),它是一个字符串。
我想检查事务日志是否包含两个地址。一封来自 Alice 0x01cf0e2f2f715450 和一封来自 Bob 0x179b6b1cb6755e31。
我的问题是,当我像这样调用includes 时(其中Alice 和Bob 是字符串):
Alice; // 0x01cf0e2f2f715450
Bob; // 0x179b6b1cb6755e31
transactionLogs.includes(Alice); // false
transactionLogs.includes(Bob); // true
对 Alice 的搜索返回 false。
我认为它与转义反斜杠有关,所以我尝试运行 transactionLogs.replace(String.fromCharCode(92), '') 但这并没有改变结果。
这里发生了什么?为什么includes 没有为 Alice 返回true?
【问题讨论】:
-
您为 Alice 提到的 Id,即 0x01cf0e2f2f715450 不在日志中,是吗?
-
我在你的文本中找不到 0x01cf0e2f2f715450,我只看到一个 0x1cf0e2f2f715450(注意缺少 0)
-
Deepack 是正确的:日志中包含
0x1cf...,因此搜索0x01cf...将不起作用。 -
Alice似乎是0x1cf0e2f2f715450,而您正在寻找0x01cf0e2f2f715450。记录0x01cf0e2f2f715450或返回0x1cf0e2f2f715450可能有什么问题? -
也许你可以
transactionLogs.includes(parseInt(Alice, 16).toString(16))
标签: javascript arrays typescript