NodeJS Buffer.compare() 方法有助于比较两个给定的缓冲区对象,并返回一个值来说明比较中的差异。Buffer.compare() 方法的一个很好的用法是对包含缓冲区的数组进行排序。
语法
以下是Node.JS Buffer.compare()方法的语法 -
Buffer.compare(buf1, buf2)
参数
此方法接受两个参数。下面将对此进行解释。
- buf1 −(必需)缓冲区对象。
- buf2 −(必需)。缓冲区对象。
返回值
Buffer.compare() 方法返回一个数字,表示两个缓冲区的比较。返回的数字如下 -
- 如果缓冲区对象相等,则为 0,
- 如果第一个缓冲区对象大于第二个缓冲区对象,则为 1。
- 如果第一个缓冲区对象小于第二个缓冲区对象,则为 -1。
该示例将创建两个缓冲区并进行比较。
const buffer1 = Buffer.from('test');
const buffer2 = Buffer.from('test');
const result = Buffer.compare(buffer1, buffer2);
console.log("The result is :"+result);
输出
The result is :0
例
该示例将创建两个缓冲区,其中缓冲区 1 将低于 buffer2,并且结果应为 -1。buffer1 将大于 buffer2 的另一个示例。所以结果必须是 1。
const buffer1 = Buffer.from('A');
const buffer2 = Buffer.from('B');
const result = Buffer.compare(buffer1, buffer2);
console.log("The result is :"+result);
const buffer11 = Buffer.from('B');
const buffer21 = Buffer.from('A');
const result1 = Buffer.compare(buffer11, buffer21);
console.log("The result is :"+result1);
输出
The result is :-1
The result is :1
The result is :1
例
在这个例子中,我们将看到如何利用 Buffer.compare() 方法对缓冲区数组进行排序。
const buffer1 = Buffer.from('How');
const buffer2 = Buffer.from('Are');
const buffer3 = Buffer.from('You');
var myarray = [buffer1, buffer2, buffer3];
console.log(myarray);
console.log(myarray.sort(Buffer.compare).toString());
输出
[ <Buffer 48 6f 77>, <Buffer 41 72 65>, <Buffer 59 6f 75> ]
Are,How,You
Are,How,You