首页 > 解决方案 > 检查数组中的类型是否与另一个数组中的值匹配

问题描述

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

我想要实现的一个例子是

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 使用第三方模块。

标签: javascriptarraysnode.js

解决方案


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


推荐阅读