gpt4 book ai didi

javascript - Uint8Array.map(...) 意外行为

转载 作者:行者123 更新时间:2023-12-02 08:00:44 27 4
gpt4 key购买 nike

我尝试在 Uint8Array 上调用 .map 并得到了一个惊喜。

const tt = new Uint8Array(1);
tt[0] = 0xFF;

const ttt = tt.map(x => x.toString(2));

console.log(ttt[0]);
console.log(tt[0].toString(2));

我预计两个输出都是“11111111”,但首先 console.log 打印出数字 199。为什么?

最佳答案

那是因为 Uint8Array.map返回一个 Uint8Array。您返回的所有字符串,再次被解析为 uint8s ...因此您得到 199 (11111111 & (2 ** 8 - 1))。

你可能想做:

 Array.from(tt).map(x => x.toString(2))

关于javascript - Uint8Array.map(...) 意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57670784/

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