Javascript函数接受一个数组,并返回一个包含每个元素数据类型的新数组

时间:2018-10-02 22:03:19

标签: javascript arrays typeof

所以指示非常简单,但我发现自己陷入困境。

我必须创建一个函数声明,该声明接受一个数组并返回每个元素数据类型为新的数组。这就是我正在尝试的:

let arr = ["1",2,false,true];
let newArr = [];
function dataTypes (arr){



  for(i= 0; i < arr.length; i+=1 ){

    let y = typeOf(i)

    newArr.push(y);

  }
return newArr;
}

dataTypes (arr);

2 个答案:

答案 0 :(得分:2)

您的意思是:

b

纯JavaScript的长版本:

let arr = ["1",2,false,true];

let res = arr.map(i => typeof(i));

尽管由于您使用的是var res = arr.map(function(i) { return typeof(i) }); ,所以ES6版本应该更好。

您最初的错误似乎是在使用let而不是typeOf的情况下,您应该会遇到错误。请记住,JavaScript区分大小写。

答案 1 :(得分:-1)

tadman有一个很好的答案。

但是,如果要运行代码版本,就在这里。

let arr = ["1", 2, false, true];
let newArr = [];
function dataTypes(arr) {
  for (i = 0; i < arr.length; i += 1) {
    let y = typeof (arr[i])
    newArr = [...newArr, y]
  }
  return newArr;
}
dataTypes(arr);
console.log(newArr);