- 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 - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
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
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 键的值变为真。Have the done: true 表示我们已经到达了迭代器的末尾。
0
1
2
3
4
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
1
2
3
4
the string is Hello