2017-07-27 18 views
1

こんにちはUint8Array 項目が値を持っていますが、Uint8Arrayリターンで「未定義」

このような
var ar = new Uint8Array(); 
ar[0] = 'G'; 
ar[1] = 0x123; 

を持っている2番目のインデックスは、ヘキサの10進数であると私はar[1]をチェックしたいゼロかないので、私はこれを書くよりも、おろし金でありますコード:

if(ar[1] > 0){ 
    console.log("OK"); 
} 
else{ 
    console.log("NOP") 
} 

が、私はconsole.log(ar[1])を書く場合i 'は未定義' を取得。これは私が作成した単純なjsbinです。

答えて

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; }

EDIT

:再読み込み docsあなたは空のコンストラクタ new Uint8Array(); // new in ES2017を使用することができます。しかし、実用的な例はありません。

1

あなたがUintArray.from()を使用するか、コンストラクタに要素の数を渡し、その後

var ar = Uint8Array.from(["G", 0x123]); 
 

 
if (ar[1] > 0) { 
 
    console.log("OK"); 
 
} else { 
 
    console.log("NOP") 
 
}

ブラケット表記を使用してインデックスの値を設定することができ
関連する問題