- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境搭建
- Node.js - 第一個應用
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 查詢資料
- Node.js - MySQL 條件查詢
- Node.js - MySQL 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 連線查詢
- Node.js MongoDB
- Node.js - MongoDB 入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 資料限制
- Node.js - MongoDB 連線查詢
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
Node.js - Buffer.keys() 方法
NodeJS 的 `buffer.keys()` 方法將返回一個迭代器物件。迴圈遍歷該物件時,它將返回緩衝區物件中每個位元組的鍵。
語法
以下是 NodeJS `keys()` 方法的語法:
buffer.keys()
引數
`buffer.keys()` 方法沒有任何引數。
返回值
`buffer.keys()` 方法返回一個迭代器物件,該物件包含緩衝區物件中每個位元組的鍵(索引值)。
示例
緩衝區是使用 NodeJS `Buffer.from()` 建立的,使用的字串是 **Hello**。字串的長度是 5,因此建立緩衝區時將保留 5 個位元組。
現在,要獲取每個字元的鍵,即索引值,可以使用 NodeJS `Buffer.keys()` 方法。由於該方法返回一個迭代器,因此可以使用 for-of 迴圈對其進行迴圈,如示例所示。
const buffer = Buffer.from('Hello');
for (let i of buffer.keys()) {
console.log(i);
}
輸出
執行後的輸出如下:
0 1 2 3 4
示例
在這個例子中,我們將使用 `next()` 方法訪問 `buffer.keys()` 返回的迭代器。
const buffer1 = Buffer.from('HELLO');
const bufferiterator = buffer1.keys();
let myitr = bufferiterator.next();
while(!myitr.done){
console.log(myitr.value);
myitr = bufferiterator.next();
}
輸出
透過連續呼叫 `next()` 方法來迴圈迭代器,直到迭代器中 **`done` 鍵的值** 變為 `true`。`done: true` 表示已到達迭代器的末尾。
0 1 2 3 4
示例
我們還可以使用 `Buffer.keys()` 方法將 `buffer1` 的內容複製到另一個緩衝區。
const buffer1 = Buffer.from("HELLO");
const buffer2 = Buffer.alloc(buffer1.length);
for (const a of buffer1.keys()) {
buffer2[a] = buffer1[a];
}
console.log("The string in buffer2 is "+buffer2.toString());
輸出
在上面的例子中,我們使用字串“HELLO”建立了一個緩衝區,為 `buffer2` 分配了相同長度的位元組。之後,我們迴圈遍歷 `buffer1` 的迭代器,並使用索引更新 `buffer2`,如示例所示。
The string in buffer2 is HELLO
示例
在示例中,我們使用字串“Hello”的十六進位制鍵碼。
const buffer1 = Buffer.from('48656c6c6f', 'hex');
for (let i of buffer1.keys()) {
console.log(i);
}
console.log("the string is "+buffer1.toString());
輸出
如果您檢視列印的鍵,它們與字串“Hello”中字元的數量相同。
0 1 2 3 4 the string is Hello
nodejs_buffer_module.htm
廣告
