首页 > 解决方案 > 带有数组的双重问题javascript函数

问题描述

这是一个双重问题,因为我只能每 90 分钟发布一次。首先,我必须编写一个替换字符串字符的函数。

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

并在所选字符的位置放置一个空格。我试过了,但没有用。

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

它只返回相同的字符串。

第二件事是我必须编写一个函数,如果引入的数据类型是 arrat,则返回 true,其余的则返回 false。

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

我试过这个。

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

但同样,它也不起作用。

我收到此错误:

Uncaught SyntaxError: Unexpected token '{'

我不知道为什么。在此先感谢您的帮助。

标签: javascriptarraysfunction

解决方案


问题1:

你引用cha所以它是一个文字字符串,而不是变量。利用

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

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

问题2:

typeof返回object数组。判断某事物是否为数组的方法是调用Array.isArray().

您的if语句中也有语法错误。条件必须在里面(),而不是之后{

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


推荐阅读