Esta es una pregunta doble porque solo puedo publicar una vez cada 90 minutos. Primero tengo que escribir una función que reemplace un carácter de una cadena.
//====================== EXAMPLE ======================== var str = "I,Really,Like,Pizza"; characterRemover(str, ","); "I Really Like Pizza"; // <====== EXPECTED OUTPUT //=========================================================Y pone un espacio en el lugar del personaje elegido. Intenté esto pero no funciona.
function chracterRemover(str, cha){ var replaced = str.split('cha').join(' '); return replaced; }Devuelve la misma cadena.
Y lo segundo es que tengo que escribir una función que devuelva verdadero si el tipo de dato introducido es un arrat y falso para el resto.
//====================== EXAMPLE ======================== var one = { name: "antonello" }; false; // <====== EXPECTED OUTPUT var two = ["name", "antonello"]; true; // <====== EXPECTED OUTPUT var three = [[], [], {}, "antonello", 3, function() {}]; true; // <====== EXPECTED OUTPUT //=========================================================He intentado esto.
function isArrayFun(array){ if { typeof array = 'array'; return "Array"; } else { return "Not an array" } }Pero además, no funciona.
me sale este error:
Uncaught SyntaxError: Unexpected token '{'no sé por qué Gracias de antemano por la ayuda.
Problema 1:
Citó cha , por lo que es una cadena literal, no la variable. Usar
function characterRemover(str, cha) { var replaced = str.split(cha).join(' '); return replaced; } var str = "I,Really,Like,Pizza"; console.log(characterRemover(str, ","));Problema 2:
typeof devuelve el object para matrices. La manera de saber si algo es una matriz es llamando a Array.isArray() .
También tiene errores de sintaxis en su declaración if . La condición tiene que estar dentro () , no después de { .
function isArrayFun(array) { if (Array.isArray(array)) { return "Array"; } else { return "Not an array" } } var one = { name: "antonello" }; console.log(isArrayFun(one)); var two = ["name", "antonello"]; console.log(isArrayFun(two)); var three = [[], [], {}, "antonello", 3, function() {}]; console.log(isArrayFun(three));Primera pregunta.
Ejemplo de trabajo:
var str = "I,Really,Like,Pizza"; function chracterRemover(str, cha){ var replaced = str.split(cha).join(' '); return replaced; } console.log(chracterRemover(str, ","));También podría usar un RegExp simple en lugar de dividir y unir y llevar la función a otro nivel haciéndola útil globalmente a través de un tercer parámetro, en el que podría definir el reemplazo:
var str = "I,Really,Like,Pizza"; function chracterRemover(str, cha, chaTo){ var reg = new RegExp(cha, "g"); return str.replace(reg, chaTo); } console.log(chracterRemover(str, ",", " ")); console.log(chracterRemover(str, ",", "."));Segunda pregunta:
Ya existe una función como esa.
Array.isArray(value)puede pasar cualquier tipo de datos a ese valor, si es una matriz, devuelve verdadero
ejemplo de trabajo:
let type1 = [1,5,6]; let type2 = {a: 47}; let type3 = 5; let type4 = "hello"; console.log(Array.isArray(type1)) console.log(Array.isArray(type2)) console.log(Array.isArray(type3)) console.log(Array.isArray(type4)) // First One const str = "I,Really,Like,Pizza"; console.log(str.split(',').join(' ')); // Second One function isArrayFun(array){ return Array.isArray(array); } const one = { name: "antonello" }; console.log(isArrayFun(one)); const two = ["name", "antonello"]; console.log(isArrayFun(two)); const three = [[], [], {}, "antonello", 3, function() {}]; console.log(isArrayFun(three));