javascript - 检查数组中的类型是否与另一个数组中的值匹配
问题描述
我想创建一个函数来检查数组的对象是否与类型数组匹配。
我想要实现的一个例子是
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 使用第三方模块。
解决方案
使用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);
推荐阅读
- scala - generate multiple returns under spark
- java - 无法为本地通知 Android Oreo 版本创建频道 ID?
- java - Java - 使用 JOptionPane 显示从文本文件中读取的对话框
- angularjs - 如何在指令内访问 angularjs 中的控制器变量?
- python - Python:字典中的“深度创建”键?
- javascript - 关于量角器中 then 函数的参数。在下面的代码中,什么将传递给“值”?
- clojure - Clojure 评估惰性序列
- ruby-on-rails - Ruby,如何解析具有多行数据类型的csv文件
- assembly - MIPS bad address/ Exception
- android - Dynamic Listview with EditText not clear values in Same Activity