Node.js Buffer.compare() 方法
缓冲区是一种临时内存存储器,用于在将数据从一个地方移动到另一个地方时存储数据。它就像一个整数数组。 Buffer.compare()方法比较两个给定的缓冲区。
句法:
buffer1.compare( targetBuffer, targetStart,
targetEnd, sourceStart, sourceEnd )
参数:此方法接受上面提到的五个参数,如下所述:
- targetBuffer:此参数保存将与其他缓冲区进行比较的缓冲区。
- targetStart:它指的是目标缓冲区的元素将开始比较的起始索引。它的默认值为 0。
- targetEnd:它指的是目标缓冲区的元素将被比较到的索引。默认值为 0。
- sourceStart:输入缓冲区中的索引,值的比较将从该索引开始。默认值为 0。
- sourceEnd:输入缓冲区中的索引,直到完成值的比较。默认值为 buffer.length
返回值:它返回一个数字,表示两个缓冲区的差异。退货数量为:
- 0:如果它们相等。
- 1:如果buffer1高于buffer2,即在排序时buffer1是否应该在buffer2之前。
- -1:如果缓冲区 2 高于缓冲区 1,即在排序时缓冲区 2 是否应该在缓冲区 1 之前。
下面的示例说明了 Node.js 中的Buffer.compare() 方法:
示例 1:
// Node.js program to demonstrate the
// Buffer.compare() Method
// Creating a buffer
var buffer1 = Buffer.from('Geek');
var buffer2 = Buffer.from('Geek');
var op = Buffer.compare(buffer1, buffer2);
console.log(op);
var buffer1 = Buffer.from('GFG');
var buffer2 = Buffer.from('Python');
var op = Buffer.compare(buffer1, buffer2);
console.log(op);
输出:
0
-1
示例 2:
// Node.js program to demonstrate the
// Buffer.compare() Method
// Creating a buffer
var buffer1 = Buffer.from('2');
var buffer2 = Buffer.from('1');
var buffer3 = Buffer.from('3');
var array = [buffer1, buffer2, buffer3];
// Before sorting
console.log(array);
// After sorting array
console.log(array.sort(Buffer.compare));
输出:
[ , , ]
[ , , ]
示例 3:
// Node.js program to demonstrate the
// Buffer.compare() Method
var buffer1 = Buffer.from('GeeksOne');
var buffer2 = Buffer.from('GeekTwo');
// Print: -1 as size of buffer1 starting
// from index 4 is less than buffer2 size
var op = buffer1.compare(buffer2, 4);
// Print: 1 as the size of buffer2 starting
// from index 5 is less than size of buffer1
// starting from 0th index
var op1 = buffer1.compare(buffer2, 0, 7, 5);
console.log(op);
console.log(op1);
输出:
-1
1
注意:以上程序将使用node index.js
命令编译运行。
参考: https://nodejs.org/api/buffer.html#buffer_buf_compare_target_targetstart_targetend_sourcestart_sourceend