嗨我有Uint8Array
喜欢这个
var ar = new Uint8Array();
ar[0] = 'G';
ar[1] = 0x123;
第二个索引是一个十六进制数,我想检查ar[1]
是否大于零或不是,所以我写这段代码:
if(ar[1] > 0){
console.log("OK");
}
else{
console.log("NOP")
}
但如果我写console.log(ar[1])
,我会'未定义'。这是我创建的简单jsbin。
答案 0 :(得分:2)
AFAIK需要将条目数作为参数传递给构造函数。
const ar = new Uint8Array(2);
ar[0] = 'G';
ar[1] = 0x123;
console.log(ar[1]);
if(ar[1] > 0){
console.log("OK");
}
else{
console.log("NOP")
}

.as-console-wrapper { max-height: 100% !important; top: 0; }

编辑:再次阅读docs您可以使用空构造函数new Uint8Array(); // new in ES2017
。但是没有任何有效的例子。
答案 1 :(得分:1)
您可以使用UintArray.from()
或将元素数传递给构造函数,然后使用括号表示法设置索引的值
var ar = Uint8Array.from(["G", 0x123]);
if (ar[1] > 0) {
console.log("OK");
} else {
console.log("NOP")
}