📜  Node.js Buffer.compare() 方法

📅  最后修改于: 2022-05-13 01:56:39.937000             🧑  作者: Mango

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