Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数组中的类型是否与另一个数组中的值匹配_Javascript_Arrays_Node.js - Fatal编程技术网

Javascript 检查数组中的类型是否与另一个数组中的值匹配

Javascript 检查数组中的类型是否与另一个数组中的值匹配,javascript,arrays,node.js,Javascript,Arrays,Node.js,我想创建一个函数来检查数组的对象是否与数组类型匹配 我正在努力实现的一个例子是 let语法=[Number,String]; 让参数=[23,'some string',{some:'ignored argument'}]; //在没有硬编码的情况下,如何检查语法[0]是否与参数[0]匹配 //它需要保持灵活性吗? 我希望能够有一些函数,基本上可以检查参数[0]是否与语法[0]上的类型匹配,同时还能检查不止一个或两个类型,等等(如果(something[0]==somethingain[0])

我想创建一个函数来检查数组的对象是否与数组类型匹配

我正在努力实现的一个例子是

let语法=[Number,String];
让参数=[23,'some string',{some:'ignored argument'}];
//在没有硬编码的情况下,如何检查语法[0]是否与参数[0]匹配
//它需要保持灵活性吗?
我希望能够有一些函数,基本上可以检查参数[0]是否与语法[0]上的类型匹配,同时还能检查不止一个或两个类型,等等(如果(something[0]==somethingain[0]),但我甚至不知道如何实现这一点


抱歉,如果这是一个负载问题!如果希望渺茫,我可以通过NPM使用第三方模块。

使用
每一个

let语法=[Number,String];
让参数=[23,'some string',{some:'ignored argument'}];
让matches=syntax.every((f,i)=>f(参数[i])==arguments[i]);

console.log(匹配项)使用

let语法=[Number,String];
让参数=[23,'some string',{some:'ignored argument'}];
让matches=syntax.every((f,i)=>f(参数[i])==arguments[i]);

console.log(匹配项)否,反例:
[String]和[23]
。要解决这个问题,请去掉
新的
并使用
==
,而不是
=
代码–只有答案没有帮助。我认为在这个案例中,有很多细节需要解释。Number和String不是类型,它们是构造函数,这只是调用这些构造函数的一个怪癖。如何测试其他类型,如undefined和null?对于NaN(类型编号),它也失败了。不用担心@RekkisomoHarley,总是乐于帮助。哦,对于Symbol,它也失败了。;-)不,反例:
[String]和[23]
。要解决这个问题,请去掉
新的
并使用
==
,而不是
=
代码–只有答案没有帮助。我认为在这个案例中,有很多细节需要解释。Number和String不是类型,它们是构造函数,这只是调用这些构造函数的一个怪癖。如何测试其他类型,如undefined和null?对于NaN(类型编号),它也失败了。不用担心@RekkisomoHarley,总是乐于帮助。哦,对于Symbol,它也失败了。;-)它必须是
数字
字符串
number
string
(类型,而不是构造函数)使用
typeof
@georg不,我希望它至少也可以用于对象类型,但是下面jack的答案似乎也可以用于此。有关类型和如何区分类型的讨论,请参阅。使用typeof可能比调用构造函数更有效,其他方法更灵活(例如区分函数和普通对象、NaN和数字、null等)。它必须是
number
String
number
string
(类型,而不是构造函数)使用
typeof
@georg不,我希望它至少也可以用于对象类型,但是下面jack的答案似乎也可以用于此。有关类型和如何区分类型的讨论,请参阅。使用typeof可能比调用构造函数更有效,其他方法更灵活(例如区分函数和普通对象、NaN和number、null等)。