1

This is a double question because I can just post once every 90 minutes. First I have to write a function that replaces a character of a string.

//======================  EXAMPLE  ========================
var str = "I,Really,Like,Pizza";
characterRemover(str, ",");
"I Really Like Pizza"; // <======  EXPECTED OUTPUT
//=========================================================

And puts a space in place of the chosen character. I tried this but is not working.

function chracterRemover(str, cha){
    var replaced = str.split('cha').join(' ');
    return replaced;
}

It returns just the same string.

And the second thing is that I have to write a function that returns true if the data type introduced is an arrat and false for the rest.

//======================  EXAMPLE  ========================
var one = { name: "antonello" };
false; // <======  EXPECTED OUTPUT
var two = ["name", "antonello"];
true; // <======  EXPECTED OUTPUT
var three = [[], [], {}, "antonello", 3, function() {}];
true; // <======  EXPECTED OUTPUT
//=========================================================

I've tried this.

function isArrayFun(array){
    if {
        typeof array = 'array';
        return "Array";
    } else {
        return "Not an array"
    }
}

But as well, it doesnt work.

I get this error:

Uncaught SyntaxError: Unexpected token '{'

I don't know why. Thanks in advance for the help.

0

3 Answers 3

1

// 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));

Sign up to request clarification or add additional context in comments.

Comments

1

Problem 1:

You quoted cha so it's a literal string, not the variable. Use

function characterRemover(str, cha) {
  var replaced = str.split(cha).join(' ');
  return replaced;
}

var str = "I,Really,Like,Pizza";
console.log(characterRemover(str, ","));

Problem 2:

typeof returns object for arrays. The way to tell if something is an array is by calling Array.isArray().

You also have syntax errors in your if statement. The condition has to be inside (), not after {.

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));

Comments

1

First question.

  1. The function name is different than the function you called
  2. you should use .split(cha) and not 'cha'. split cha will actually split your string by the string you passed into that parameter. And 'cha' looks for the string 'cha'

Working example:

var str = "I,Really,Like,Pizza";

function chracterRemover(str, cha){
    var replaced = str.split(cha).join(' ');
    return replaced;
}
console.log(chracterRemover(str, ","));

You could also use a simple RegExp instead of using split and join and take the function to another level by making it globally useful via a 3rd parameter, in which you could define the replacement:

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, ",", "."));

Second question:

There is already a function like that

Array.isArray(value)

you can pass any type of data into that value, if it is an array it returns true

working example:

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))

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.