为什么减速器会忽略数组中的第一项?

2023-12-27

我有这个函数应该运行每个验证器,然后返回包含错误的对象。

一切似乎都工作正常,但数组中的第一个验证器。这好像是reduce完全忽略它。无论我在那里放置什么验证器,它都会直接转到第二个验证器。

我在这里遗漏了一些明显的东西吗?

export default values => (
  [
    validateFullName,
    validateServicePresence,
    validatePhoneField,
    validateOrganizationName,
    validateInn,
    validateEmailField,
    validateManagerEmail,
    validateComment,
    validateAgreement,
  ].reduce((currentErrors, validator) => {
    const validationResult = validator(values);

    return {
      ...currentErrors,
      ...validationResult,
    };
  })
);

如果您不提供要减少的初始值,那么它将使用数组的第一个元素作为初始值,并跳过使用该元素调用您的减速器。所以第一次调用你的减速器时,currentErrors is validateFullName, and validator is validateServicePresence.

要解决此问题,只需添加一个初始值:

export default values => (
  [
    validateFullName,
    validateServicePresence,
    validatePhoneField,
    validateOrganizationName,
    validateInn,
    validateEmailField,
    validateManagerEmail,
    validateComment,
    validateAgreement,
  ].reduce((currentErrors, validator) => {
    const validationResult = validator(values);

    return {
      ...currentErrors,
      ...validationResult,
    };
  }, {}) // <===================
);

请参阅此处的初始值部分:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Parameters https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Parameters

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么减速器会忽略数组中的第一项? 的相关文章

  • 为什么这个对象的“forEach 不是函数”?

    这可能真的很愚蠢 但我不明白为什么这不起作用 var a cat large a forEach function value key map console log value 未捕获的类型错误 a forEach 不是函数 http j
  • 输入类型货币格式,带逗号和小数位 2

    我只是想问如何制作输入类型文本的货币格式的JavaScript 当您输入数字时 数字是否可能带有逗号 另外 如何使数字固定为 2 个小数 如果我输入 3 位小数 最后一个数字将四舍五入 因此可以是 2 位小数 我有一个仅接受数字的文本框 我
  • ReactJS 中的组件之一出现“必须返回有效的 React 元素(或 null)”错误

    我的代码是这样的 var data id 1 taskName Pete Hunt standarDescription This is one comment emplComment meaaow I am meeawo empRatin
  • 逻辑 && 和 || JavaScript 中的运算符

    我想进一步澄清一些事情 考虑一下 var a 42 var b abc var c null a b 42 a b abc c b abc c b null 我知道对于 运算符 如果第一个操作数的测试为真 则 表达式的结果是第一个操作数 a
  • 即使 WebPack 构建工作正常,VS Code 显示未找到模块

    我的 VS Code 说它找不到导入 即使我的 WebPack 构建仍然有效 这是进口 import as tf from tensorflow tfjs 以及来自 VS Code 的消息 找不到模块 tensorflow tfjs 您的意
  • 我可以在 Express POST 请求中进行 DOM 操作吗?

    我正在使用基本的 HTML CSS 前端 目前有一个登陆页面 上面有一个表单 可将 一些数据发送到数据库 当请求完成后 它期待某种响应 在这种情况下 我正在重新渲染页面 但是 我想用某种感谢消息替换表单 以便用户知道它已正确发送 我尝试过简
  • 降低 Nodejs 服务器上的 CPU 利用率

    我正在研究降低 CPU 利用率的有趣方法 在 NodeJS 服务器上 在我的研究过程中 我发现了以下文章 http engineering linkedin com nodejs blazing fast nodejs 10 perform
  • $index 中的 AngularJS 数字

    举例来说 我有以下代码 伪 div index div 结果将是 1 2 3 4 5 6 我怎样才能改变上面的代码以便打印索引 001 002 003 004 005 006 以便索引打印为 3 位数字 您可以使用过滤器轻松完成此操作 首先
  • 使用 document.getElementById().style.height javascript 从 css 获取值

    请提供有关这个谜团的见解 我试图通过以下方式从 div 框中获取高度值 var high document getElementById hintdiv style height alert high 如果该属性包含在 div 标记中 我可
  • 最有用的 jQuery 原生 API 函数

    前 5 10 个最常用的 jQuery 本机 API 函数是什么 请不要建议 jQuery 函数本身 因为毫无疑问这是最常用的函数 如果可能的话 还请提供它们所涵盖的场景 提出这个问题的原因是我尝试创建一个类似 jQuery 的 API充足
  • 如何使用startsWith过滤并获取每个对象键的值?

    我试图通过获取每个键来过滤对象checkpoint并输出其值 目前 我只能输出键而不是值 下面 我有一个简单的对象 我正在使用过滤器和startsWith 我怎样才能得到这些值呢 var data practicals 0 checkpoi
  • 是否存在必须在 HTML/JavaScript 中使用早期绑定/内联事件属性的情况

    在我对以下问题的回答中 事件绑定是什么意思 https stackoverflow com q 6329996 144491 我顺便说一下 使用 inline JavaScript Early Binding 来绑定 JavaScript
  • WebRTC、getDisplayMedia() 不捕获远程流中的声音

    我有一个自己的网络应用程序 它基于peerjs库 它是一个视频会议 我正在尝试使用 MediaRecorder 进行录制 但我遇到了一个非常不愉快的情况 捕获我的桌面流的代码如下 let chooseScreen document quer
  • JavaScript 数组中的空项和未定义项有什么区别? [复制]

    这个问题在这里已经有答案了 考虑以下 JavaScript 代码 在节点 REPL 中 gt let a new Array 10 undefined gt a lt 10 empty items gt gt a map e gt 1 lt
  • 如何判断CKEditor是否已加载?

    如何确定 CKEditor 是否已加载 我查看了API文档 但只能找到loaded事件 我想检查 CKEditor 是否已加载 因为如果我第二次加载它 我的文本区域就会消失 The loaded活动对我不起作用 instanceReady
  • C# 的 xml 序列化中是否有一个属性可以跳过空数组?

    C 的 xml 序列化中是否有一个属性可以跳过空数组 这将提高 xml 输出的可读性 好吧 你也许可以添加一个ShouldSerializeFoo method using System using System ComponentMode
  • Javascript onclick隐藏div

    我想使用 javascript 隐藏这个警告 div 我的 javascript 正确吗 我想在单击关闭图标时隐藏 关闭 div images close icon gif div strong Warning strong These a
  • 添加 sigma.js 导航按钮

    我是 javascript 和 sigma js 的新手 我试图让导航按钮在画布中向上 向下 向左 向右滚动 就像发现的那样here http jcml fr jacomyal osdc2012 demo 到目前为止 我有一个简单的例子 我
  • Angular 计算 HTML 中的百分比

    我试图在 HTML 中显示百分比值 如下所示 td myvalue totalvalue 100 td 它可以工作 但有时它会给出一个很长的小数 这看起来很奇怪 如何四舍五入到小数点后两位 有更好的方法吗 您可以使用过滤器 如下所示杰夫约翰
  • Data.Array 有多快?

    The 文档 http haskell org ghc docs latest html libraries array 0 3 0 3 Data Array html of Data Array reads Haskell 提供了可索引数

随机推荐

  • Firefox 背景图像水平居中奇怪

    我正在为 CMS 构建一些基本的 HTML 代码 CMS 中与页面相关的选项之一是 背景图像 和 将页面宽度 高度拉伸到背景图像宽度 高度 这样 对于大的背景图像 整个事物就变得可见 我当前的屏幕分辨率是 1280 x 1024 如果我执行
  • Jenkins pipeline并行阶段中,如果一个阶段失败,如何及时杀死其他阶段?

    如果工作失败 我不必等待每个人都完成 是否可以中止仍在运行的并行阶段 它们必须显示为 已中止 而不是带有红十字图标 因为失败的必须突出显示 Add parallelsAlwaysFailFast给你的options 如果任何 并行 阶段失败
  • console.time() 在 Node.js 中安全吗?

    我面前有一小段 Node js 代码 如下所示 console time queryTime doAsyncIOBoundThing function err results console timeEnd queryTime Proces
  • 铁轨上的Python?

    是否可以将 Ruby on Rails 代码库转换为 Python 我认为很多人比 Ruby 更喜欢 Python 但发现 Ruby on Rails 的功能 整体上 比 Python Web 框架中的功能更好 那么 这可能吗 或者 Rub
  • 是否有任何基于abs值的ceil()函数,例如trunc与floor或从零舍入函数?

    numpy trunc是基于abs值的下取整函数 a np array 1 7 1 5 0 2 0 2 1 5 1 7 2 0 np floor a Out 122 array 2 2 1 0 1 1 2 np trunc a Out 12
  • 英特尔 C++ 编译器和 GCC 的基准测试

    我有一台运行 CentOS 5 的 AMD Opteron 服务器 我想要一个编译器 用于相当大的基于 C Boost 的程序 我应该选择哪个编译器 我希望这有助于多于伤害 一年多前的某个时候 我进行了一次编译器大战 现在我已经记不清了 G
  • 如何访问 Ruby 中的符号表?

    有没有办法访问 Ruby 符号表中的所有内容 我希望能够序列化或以其他方式保存程序运行的当前状态 为此 我似乎需要能够迭代范围内的所有变量 我认为他有 perl 背景 并且他希望获取脚本中定义的所有变量并将它们序列化 这样 当他加载文件时
  • 使用operator()对std::set进行排序以排序插入

    之后我将继续这篇文章This https stackoverflow com questions 12576763 how to sort a stdset with const getters我们有一个类 class LaneConnec
  • Java中的密码生成器[重复]

    这个问题在这里已经有答案了 我想要一个 Java 密码生成器 它应该生成符合标准标准的密码 例如至少 8 个字符长 包含一个大写字母 一个特殊字符等 如果它是开源的那就太好了 有什么建议 指示吗 Thanks 如果我是你 我会把所有允许的字
  • 如何匹配带引号的字符串后跟大括号中的字符串?

    我需要一个正则表达式来匹配引号中的字符串 然后是空格 然后是圆括号 然后是大括号 例如 这是我想在 Java 中匹配的文本 Allo Allo 1982 A Barrel Full of Airmen 7 7 这个的正则表达式是什么 抱歉
  • ORA-01008: 并非所有变量都已绑定。他们被束缚

    我遇到了一个 Oracle 问题 到目前为止我还无法找到原因 下面的查询在 Oracle SQL Developer 中有效 但在 NET 中运行时会抛出 ORA 01008 并非所有变量都绑定 我试过了 更改 lot priority 的
  • 不存在类型为 IEnumerable 的键“taskTypes”的 ViewData 项

    在 ASP NET MVC 中向 Html DropDownList 添加 onchange 属性时 我收到上面的错误消息 td td 当视图最初加载时 我没有收到错误 仅在所选项目更改后发回时 我的控制器代码是 AcceptVerbs H
  • 生成更多 json,例如来自 JAXB 和 Jersey 的 json

    我使用使用 JAXB 创建的数据模型 从中我可以直接生成 XML
  • OSX 上 VMWare Fusion 中的 Windows Phone 8 模拟器

    我正在尝试在我的 Mac 上启动 Windows Phone 8 SDK 模拟器 以便我可以对我构建的移动网站进行简单的 Web 测试 我遵循了几位指南 他们都说同样的事情 例如 6 显示内容 文件和文件夹列表 后 找到 VMware 虚拟
  • 压缩内存中的Python对象

    大多数关于在 Python 中压缩文件的教程都涉及立即将该文件写入磁盘 而无需介入压缩的 Python 对象 我想知道如何腌制然后压缩内存中的 python 对象 而无需写入或从磁盘读取 我用它来节省一处的内存 import cPickle
  • Jenkins 我如何上传文本文件并将其用作参数

    我有一个 txt 文件 里面有一个字符串 我希望能够在我的一个脚本中使用这个字符串 所以我想知道是否有一种方法可以将文件的内容设置为构建属性之一或我将能够在脚本中使用的参数 它应该与使用构建环境属性之一相同 例如 JOB NAME 包含作业
  • 错误:尚未向该组注册任何表单控件。如果您使用 ngModel,您可能需要检查下一个刻度(例如使用 setTimeout)

    I am using template driven form and am trying to set the value of the form elements based on some object properties howe
  • 更好的资源来学习构建

    我试图掌握更多的构建本教程 http grok zope org documentation tutorial introduction to zc buildout tutorial all pages 但与教程不同 它看起来像是演示幻灯
  • 图片中是否需要包含alt

    W3c 指定对网站中的所有图像使用 alt 以实现可访问性 如何将其设置为图像 如 javascript 菜单中的项目符号或背景图像或空白图像 用于设计或用于一般目的的图像 alt需要属性 img 标签 如果您希望您的标记得到验证 背景图像
  • 为什么减速器会忽略数组中的第一项?

    我有这个函数应该运行每个验证器 然后返回包含错误的对象 一切似乎都工作正常 但数组中的第一个验证器 这好像是reduce完全忽略它 无论我在那里放置什么验证器 它都会直接转到第二个验证器 我在这里遗漏了一些明显的东西吗 export def