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

时间:2019-06-09 02:31:32

标签: javascript arrays node.js

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

我要实现的目标的一个例子是

let syntax = [Number, String];
let arguments = [23, 'some string', {some: 'ignored argument'}];

// How would I check if syntax[0] matches arguments[0] without hardcoding
// it to keep it flexible?

我希望能够拥有某种功能,基本上可以检查参数[0]是否与语法[0]上的类型相匹配,同时还希望它能够检查不止一个或两个,等等(没有硬编码if (something[0] === somethingAgain[0])),但是我什至不知道如何实现。

很抱歉,如果这是一个已加载的问题!如果这很遥远,我可以通过NPM使用第三方模块。

1 个答案:

答案 0 :(得分:0)

使用every

let syntax = [Number, String];
let arguments = [23, 'some string', {some: 'ignored argument'}];
let matches = syntax.every((f, i) => f(arguments[i]) === arguments[i]);
console.log(matches);