2016-05-26 2 views
0

Ich möchte einige Elemente meines einen Puffers in einen anderen Puffer kopieren. Ich tippte folgenden Befehl auf REPLIm Knoten JS konnte kein Puffer in einen anderen kopiert werden.

assn1.copy(assn3,0,40,59) 

assn1 ist Puffer Zielquellenpuffer assn3 ist

aber ich bin immer folgende Fehlermeldung.

TypeError: assn1.copy is not a function 
at repl:1:7 
at REPLServer.defaultEval (repl.js:270:27) 
at bound (domain.js:287:14) 
at REPLServer.runBound [as eval] (domain.js:300:12) 
at REPLServer.<anonymous> (repl.js:439:10) 
at emitOne (events.js:95:20) 
at REPLServer.emit (events.js:182:7) 
at REPLServer.Interface._onLine (readline.js:211:10) 
at REPLServer.Interface._line (readline.js:550:8) 
at REPLServer.Interface._ttyWrite (readline.js:827:14) 

helfen Sie mir, dieses Problem zu lösen.

+0

Ist 'assn1' wirklich ein 'Puffer' Typ? – NeoAsh

+0

ja ist es. Ich erklärte es als, var assn1 = neuer Puffer (100) –

+0

@NeoAsh danach kopierte ich ein Array in diesem Puffer mit assn1 = arr; und danach gibt es false an Buffer.isBuffer (assn1) –

Antwort

0

assn1 = arr;

kopiert nicht tatsächlich ein Array in den Puffer, sondern weist einem Array-Objekt eine Variable zu und verlor dadurch das Pufferobjekt.

versuchen, etwas wie folgt aus:

var a = [1, 2, 8, 9]; 
var buf1 = new Buffer(a); 
var b = [3, 4]; 
new Buffer(b).copy(buf1, 2, 0, 2); 
console.log(buf1); 

Bietet mir diese Ausgabe:

<Buffer 01 02 03 04> 

Hoffnung, das hilft.

Verwandte Themen