Javascript equivalente a PHP Explode()

Resuelto Doug Molineux asked hace 54 años • 17 respuestas

Tengo esta cadena:

0000000020C90037:TEMP:datos

Necesito esta cadena:

TEMPERATURA:datos.

Con PHP haría esto:

$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];

¿Cómo puedo crear efectivamente explodeuna cadena en JavaScript de la misma manera que funciona en PHP?

Doug Molineux avatar Jan 01 '70 08:01 Doug Molineux
Aceptado

Esta es una conversión directa de su código PHP:

//Loading the variable
var mystr = '0000000020C90037:TEMP:data';

//Splitting it with : as the separator
var myarr = mystr.split(":");

//Then read the values from the array where 0 is the first
//Since we skipped the first element in the array, we start at 1
var myvar = myarr[1] + ":" + myarr[2];

// Show the resulting value
console.log(myvar);
// 'TEMP:data'
John Hartsock avatar Dec 22 '2010 22:12 John Hartsock
String.prototype.explode = function (separator, limit)
{
    const array = this.split(separator);
    if (limit !== undefined && array.length >= limit)
    {
        array.push(array.splice(limit - 1).join(separator));
    }
    return array;
};

Debería imitar exactamente la función explode() de PHP.

'a'.explode('.', 2); // ['a']
'a.b'.explode('.', 2); // ['a', 'b']
'a.b.c'.explode('.', 2); // ['a', 'b.c']
psycho brm avatar Sep 26 '2013 17:09 psycho brm