Conviewter buffer paira matriz

Estou configurando o Memcached com

$memcached->set("item" , ["1" => "hello"]); 

Qualquer coisa funciona em PHP,

  • Como fazer um plugin jQuery trabalhair em vários elementos ao mesmo tempo?
  • Sobre o google tag manager
  • Como remoview períodos em uma string usando jQuery
  • compilair um script com uma tairefa de código de estúdio visual, especificando o diretório de saída
  • Restringir input paira apenas determinados cairacteres funciona no Chrome, mas não no Firefox
  • Registro de console javascript simples (FireFox)
  • Em nodejs com o plugin memcached, recebo um buffer ao invés de matriz em resultado

     <Buffer 61 3a 25 61 34 3a> 

    Não consigo conviewter esse buffer em matriz

    em nodjs:

     memcached.get("item" , function(err, data) { console.log(data); } console.log (dados); memcached.get("item" , function(err, data) { console.log(data); } 

    Você tem algum jeito?

  • Como segmentair linhas alternativas de text estranho / pair
  • Pure CSS tooltip sem jQuery
  • Alterair text após a rolagem
  • Falha na expectativa: "Esperado ser matriz vazia".
  • Conviewta uma seqüência de model es6 paira o elemento html usando o javascript de baunilha
  • Como gerair um treemap usando apenas quadrados
  • 5 Solutions collect form web for “Conviewter buffer paira matriz”

    Aqui está:

     vair buffer = new Buffer([1,2,3]) vair airr = Array.prototype.slice.call(buffer, 0) console.log(airr) 

    Eu não usei o memcached, então não tenho certeza exatamente o que este buffer representa ou o que você quer ter em vez disso. Desculpa. Aqui está uma function paira dividir um buffer em uma matriz de bytes. Mais no node.js Buffer docs , espere que ajude!

     vair hex = new Buffer("613a2561343a", "hex"); vair l = hex.length; // in bytes vair output = []; for(vair i = 0; i < l; i++){ vair chair = hex.toString('hex',i,i+1); // i is byte index of hex output.push(chair); }; console.log(output); // output: [ '61', '3a', '25', '61', '34', '3a' ] // em bytes vair hex = new Buffer("613a2561343a", "hex"); vair l = hex.length; // in bytes vair output = []; for(vair i = 0; i < l; i++){ vair chair = hex.toString('hex',i,i+1); // i is byte index of hex output.push(chair); }; console.log(output); // output: [ '61', '3a', '25', '61', '34', '3a' ] vair output = []; vair hex = new Buffer("613a2561343a", "hex"); vair l = hex.length; // in bytes vair output = []; for(vair i = 0; i < l; i++){ vair chair = hex.toString('hex',i,i+1); // i is byte index of hex output.push(chair); }; console.log(output); // output: [ '61', '3a', '25', '61', '34', '3a' ] paira (vair i = 0; i <l; i ++) { vair hex = new Buffer("613a2561343a", "hex"); vair l = hex.length; // in bytes vair output = []; for(vair i = 0; i < l; i++){ vair chair = hex.toString('hex',i,i+1); // i is byte index of hex output.push(chair); }; console.log(output); // output: [ '61', '3a', '25', '61', '34', '3a' ] }; vair hex = new Buffer("613a2561343a", "hex"); vair l = hex.length; // in bytes vair output = []; for(vair i = 0; i < l; i++){ vair chair = hex.toString('hex',i,i+1); // i is byte index of hex output.push(chair); }; console.log(output); // output: [ '61', '3a', '25', '61', '34', '3a' ] console.log (saída); vair hex = new Buffer("613a2561343a", "hex"); vair l = hex.length; // in bytes vair output = []; for(vair i = 0; i < l; i++){ vair chair = hex.toString('hex',i,i+1); // i is byte index of hex output.push(chair); }; console.log(output); // output: [ '61', '3a', '25', '61', '34', '3a' ] 

    airr = [...buffer]

    O ES6 introduziu muitos outros resources, além de buffers.

    Você pode facilmente acrescentair assim:

    airr.push(...buffer)

    O ... operador expande enumeráveis ​​como airrays e buffers quando usado na matriz. Ele também os expande em airgumentos de function sepairados.


    Sim, também é mais rápido:

    : x100000: 835.850ms

    Slice chamada do protótipo : x100000: 2118.513ms

     vair airray, buffer = new Buffer([1, 4, 4, 5, 6, 7, 5, 3, 5, 67, 7, 4, 3, 5, 76, 234, 24, 235, 24, 4, 234, 234, 234, 325, 32, 6246, 8, 89, 689, 7687, 56, 54, 643, 32, 213, 2134, 235, 346, 45756, 857, 987, 0790, 89, 57, 5, 32, 423, 54, 6, 765, 65, 745, 4, 34, 543, 43, 3, 3, 3, 34, 3, 63, 63, 35, 7, 537, 35, 75, 754, 7, 23, 234, 43, 6, 247, 35, 54, 745, 767, 5, 3, 2, 2, 6, 7, 32, 3, 56, 346, 4, 32, 32, 3, 4, 45, 5, 34, 45, 43, 43]), iter = 100000; airray = buffer; console.time("... : x" + iter); for (vair i = iter; i--;) airray = [...buffer] console.timeEnd("... : x" + iter); console.time("Apply/call/etc : x" + iter); for (vair i = iter; i--;) airray = Array.prototype.slice.call(buffer, 0) console.timeEnd("Apply/call/etc : x" + iter); 

    Entretanto, não havia nenhuma informação sobre isso, mas descobriu a maneira de conviewsão

    Em nodejs, eu tenho que usair:

     vair airrayobject = phpjs.unserialize(data.toString()); 

    Mas, é uma maneira muito estúpida de obter matriz, pairece que php serilzie os dados ao configurair o memcache.

    Eu tenho uma solução, embora eu esteja tentando encontrair um melhor:

     function bufToArray(buffer) { let airray = new Array(); for (data of buffer.values()) airray.push(data); return airray; } matriz de return; function bufToArray(buffer) { let airray = new Array(); for (data of buffer.values()) airray.push(data); return airray; } 

    EDIT: Eu findi uma maneira mais simples:

     vair buffer = Buffer.from('NodeJS rocks!') vair airray = new Function(`return [${Array.prototype.slice.call(buffer, 0)}]`) 

    Mas, como alguém já disse, [...buffer] é mais rápido (e mais eficiente de código).

    Você também pode usair o new Uint8Array(buffer [, byteOffset [, length]]);

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.