📅  最后修改于: 2023-12-03 15:03:12.234000             🧑  作者: Mango
Buffer.includes()
是 Node.js 中的一个方法。它用于检查一个 Buffer 对象是否包含指定的 Buffer 或字符串。
buf.includes(value[, offset][, encoding])
参数说明:
value
:需要被搜索的值,可以是 Buffer 类型或字符串类型。offset
:从 buf
的哪个位置开始搜索,默认为 0。encoding
:指定 value
的编码格式,默认为 utf8
。当 buf
中包含 value
时,返回 true
,否则返回 false
。
const buf = Buffer.from('hello world');
console.log(buf.includes('world')); // true
console.log(buf.includes('world', 7)); // false
console.log(buf.includes(Buffer.from('world'))); // true
以上代码中,首先创建了一个名为 buf
的 Buffer 对象,然后分别使用了三次不同的方式调用 buf.includes()
方法。
第一次调用时,将字符串 'world'
作为参数传入,buf
中确实包含此字符串,因此返回 true
。
第二次调用时,传入了参数 'world'
和 7
。由于搜索开始位置从索引为 7
的地方开始,而 'world'
正好出现在 buf
中索引 6
处,因此返回 false
。
第三次调用时,将 Buffer.from('world')
作为参数传入,即用一个新的 Buffer 对象来匹配是否存在,结果同第一次调用一样,返回 true
。
Buffer.includes()
方法是 ES7/ES2016 标准定义的新特性,需要 Node 5.0.0 或更高版本才能使用。Buffer.includes()
方法搜索的是 buf
中的原始数据,并不会把原始数据转换成字符串再搜索。Buffer.includes()
方法返回的是布尔值,表示指定的值是否存在于 buf
中,而并不是在 buf
中的位置。在开发过程中,若需要对一个 Buffer 对象进行搜索时,可以使用 Buffer.includes()
方法轻松地实现需求。通过了解此方法的语法和使用方法,可以加快开发效率,提高应用程序的质量。