JS 重命名对象键,同时保留其在对象中的位置

2024-01-27

我的 javascript 对象如下所示:

const someObj = {
  arr1: ["str1", "str2"],
  arr2: ["str3", "str4"]
}

在尝试重命名密钥时(例如arr1),我最终删除现有的密钥并用原始值写入一个新密钥。这的顺序obj changes.

someObj = {
  arr2: ["str3", "str4"],
  renamedarr1: ["str1", "str2"]
}

如何在重命名密钥时保留密钥顺序?


最终它以 js-vanilla 方式而不是 React 方式解决。

如果有人寻找类似的解决方案,我将发布我最终使用的代码。灵感来自Luke's https://stackoverflow.com/users/576725/luke idea:

const renameObjKey = ({oldObj, oldKey, newKey}) => {
  const keys = Object.keys(oldObj);
  const newObj = keys.reduce((acc, val)=>{
    if(val === oldKey){
        acc[newKey] = oldObj[oldKey];
    }
    else {
        acc[val] = oldObj[val];
    }
    return acc;
  }, {});

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

JS 重命名对象键,同时保留其在对象中的位置 的相关文章

  • 附加组件生成器:ContentScript 并返回附加组件代码?

    我正在使用 Firefox Add on Builder 这是我到目前为止所拥有的 main js var widgets require widget var tabs require tabs var data require self
  • 使用 Selenium + JavaScript 或 WebDriverJS 在浏览器中执行 JavaScript

    经过很多天的大量搜索后 我在这里寻求帮助 我们有一个使用 javascript selenium webdriverjs 的设置 我们想要在通过 selenium 打开的浏览器中传递数据 简单来说 我们希望在浏览器中执行任何类型的 Java
  • 如何在后台加载图像?

    问题 我正在创建一个专辑 所以每次按 时间 下一个 按钮我正在加载新图像 我想要实现的是 只有在新图像从服务器完全下载后 我才想从旧图像切换到新图像 实际上我不想在加载时显示部分图像 有什么解决办法吗 PS 类似的问题 https stac
  • 如何使用鼠标单击选择多个项目?

    This is the default jQueryUI display as a Grid Layouts demo here http jqueryui com demos selectable display grid I can s
  • 使用 JS 和 HTML 将当前 URL 插入链接

    所以 我已经阅读了类似的内容 但我仍然找不到更适合我正在做的事情的答案 我正在尝试使用 JS 获取当前页面 URL 并将其附加到社交媒体共享链接 如下所示 a href target blank 使用 Javascript 我成功地将当前
  • 找不到 firebase-messaging.js laravel

    大家好 我正在使用 firebase 制作一个用于推送通知的应用程序 这是我在 firebase 中的第一个项目 我遇到的问题是当我运行项目并单击它给我的登录按钮时的连接 已授予通知权限 但在此之后它返回一个错误 如下所示 获取脚本时收到错
  • 如何获取 CSS 旋转元素的实际(非原始)高度

    我需要获取几个不同元素的实际高度 为了精确的自定义工具提示定位 并且其中一些元素 不是全部 被旋转 elem outerHeight 返回原始高度 而不是实际显示的高度 这是一个非常简单的例子 http jsfiddle net NPC42
  • Mocha / Chai Expect.to.throw 未捕获抛出的错误

    我在获取 Chai 时遇到问题expect to throw测试我的 node js 应用程序 测试在抛出的错误上不断失败 但是如果我将测试用例包装在 try 和 catch 中 并对捕获的错误进行断言 它就会起作用 Does expect
  • 当容器有选择框时 jQuery mouseleave 触发问题

    我有两个容器 一个嵌套在另一个容器内 当我将鼠标悬停在父容器上时 我希望显示子容器 当我鼠标移出时 我希望子容器淡出 我遇到的问题是子容器有一个包含 选择框 的表单 当用户选择选择框时 会意外触发 mouseleave 事件 如何阻止选择框
  • 如果只有一个元素发生变化,为什么 AngularJs 会更新数组/哈希映射的所有元素?

    我有一个简单的哈希图和一个以文本形式显示状态的简单方法 但是当我仅更新 1 个用户状态时 所有这些状态都会更新 为所有用户调用函数 有没有一种方法可以只更新一个元素而不是全部 示例代码在这里 只需看看当您单击 更改状态 按钮时控制台中会发生
  • Node.JS Web 服务器中的安全性

    所以 我正在学习 Node JS 到目前为止我很喜欢它 我已经有几个项目在工作了 我想我可以在其中使用nodejs 不过 我担心安全问题 如果我使用 Node JS http 模块编写自定义 Web 服务器 我是否可能非常容易受到攻击 Ap
  • 如何使 Loopback 模型事件起作用?

    我尝试过一个例子http apidocs strongloop com loopback model http apidocs strongloop com loopback model MyModel on changed functio
  • 删除 CSS Transitionend 事件侦听器不起作用

    我在尝试删除 css Transitionend 事件侦听器时遇到问题 我可以添加监听器 e addEventListener transitionend function event transitionComplete event pr
  • 不用AJAX,前台同步拖放文件上传?

    我有一个定期的网站
  • Google Apps 脚本:如何水平对齐 inlineImage

    我有以下代码 它是一个更大程序的一部分 我正在尝试将图像从我的 Google 驱动器插入到 Google 文档中 并调整其大小并居中 到目前为止 我能够让程序插入图像并调整其大小 但我不知道如何使 inlineImage 居中 我是使用谷歌
  • Web 扩展中共享 vuex 状态(死对象问题)

    我正在尝试在网络扩展中使用共享的 vue js 状态 状态存储在后台脚本的 DOM 中并呈现在弹出页面中 第一次尝试 我的第一次尝试是使用一个没有 vuex 的简单商店 背景 js var store count 0 popup js br
  • 如何检查 URL 末尾是否有特定字符串

    我需要根据 URL 末尾的内容让覆盖层向下滑动 如果 URL 末尾有 faq 覆盖层下降 如何在 jQuery JavaScript 中做到这一点 如果您的网址看起来像这样http yourdomain com faq 你可以这样做 var
  • 将回调函数与原型函数一起使用

    在执行回调时 我无法弄清楚如何传递对象方法而不是排序 通用原型 方法 function Client this name hello Client prototype apiCall function method params callb
  • CasperJS:如何单击所有选定的按钮?

    我正在尝试使用 CasperJS 作为网络抓取工具 并且有一个带有按钮的页面 单击该按钮将加载数据 因此 我想先单击所有这些按钮 然后等待 然后再实际进行查询以获取所有必要的数据 问题是对于 Casper casper thenClick
  • 如何通过 jQuery onblur 提交表单

    所以我尝试通过 jQuery onblur 提交表单 即一旦焦点离开密码字段 表单就会通过 jQuery 提交 有类似的问题 但这不是我要找的 我尝试使用 document getElementById 但它不起作用 任何帮助表示赞赏 提前

随机推荐

  • 标准WPF选项卡控件中是否有Selected Tab Changed事件

    在WPF中 是否有一个事件可以用来确定何时TabControl选定的选项卡发生变化吗 我尝试过使用TabControl SelectionChanged但是当孩子在选项卡中的选择发生更改时 它会被多次触发 您需要检查事件的来源以隔离最外层的
  • UISegmentedControl 委托/触摸事件

    我有一个 UISegmentedControl 有六个段 我希望它们在值更改时调用一个方法 而且当每个段获得一个UIControlEventTouchDragIn因为我希望当用户尝试选择 UILabel 上的某些内容并将手指拖过控件时 UI
  • 在哪里可以找到 IntelliJ 其他语言的词典?

    IntelliJ 拼写检查器仅捆绑了英语和阿拉伯语 奇怪 我认为它是在东欧制造的 他们甚至没有捆绑他们的语言 我的客户是德国人 所以我的所有代码都是英语 代码 德语 界面 混合的 而且我找不到 IntelliJ 的德语词典 当前的IDEA版
  • 排除字符串列表中的相似点以提取差异

    我有一个句子列表 除了书名之外 其他句子都相同 如何循环遍历列表并排除相似之处以找到书名 这是一个例子 可以是任何有相似之处的短句 蝇王 这本书堪称经典 杀死一只知更鸟 是一本经典之作 麦田里的守望者 这本书堪称经典 我遇到的问题是我不能简
  • 如何阻止 Telerik RadWindow 在下一次回发时始终重新加载

    我在网页中调用 RadWindow 作为对话框 我从代码隐藏中调用 因为我需要传递一些参数 radWindow1 NavigateUrl url 英国 德国 法国 radWindow1 VisibleOnPageLoad true 这很有效
  • ruby on Rails 的 Mahout 插件

    我想在 Ruby on Rails 项目中使用 Apache Mahout 来实现推荐和协作过滤 特别是我的要求是 建议相关标签 推荐相关文章 根据用户的喜好提示他评论文章 根据用户的地理位置和其他元信息 向他推荐类似的用户 如果任何其他解
  • 我什么时候应该明确使用@synthesize?

    据我所知 从 XCode 4 4 开始 synthesize将自动生成属性访问器 但刚才我读了一个关于的代码示例NSUndoManager 并且在代码中它注意到 synthesize被明确添加 喜欢 interface RootViewCo
  • Azure DevOps 中“bash exited with code 1”中的 Cypress 测试退出失败

    我已将 Cypress 测试设置为在 Azure DevOps 中运行 我通过 yml 文件中的 CMD 命令运行测试 然后获取测试结果 当测试通过时 一切都按预期工作 并且测试结果显示在摘要中 当测试失败时 CMD 步骤会失败 并显示错误
  • 如何使用 Powershell 下载并安装适用于 Windows 的 git 客户端

    我必须编写自动 powershell 脚本来从 gihtub 克隆存储库 但我需要使用命令行安装 git 您能否让我知道如何使用命令行在窗口上下载并安装 git 而无需执行任何手动工作 提前致谢 希望在不使用巧克力的情况下做同样的事情 以下
  • 为什么 tkinter(或海龟)似乎丢失或损坏?它不应该是标准库的一部分吗?

    当尝试使用 Tkinter 标准库包或其相关功能 使用海龟图形 时 我看到了许多不同的问题 turtle和内置的 IDLE IDE 或者使用将此作为依赖项的第三方库 例如使用 Matplotlib 显示图形窗口 似乎即使没有隐藏标准库模块名
  • 如何在 HashSet 中搜索时使用正则表达式

    我正在编写一个 Java 程序 我需要在其中搜索集合中的特定单词 必须搜索的单词类似于 wo d where 可以用任何其他字母代替 我正在使用正则表达式来匹配此类类型的单词大小写 这就是我到目前为止所拥有的 HashSet
  • 如何加速InnoDB count(*)查询?

    这里有很多类似的问题 但很多答案都说强制使用索引 这对我来说似乎并没有加快任何速度 我想在我的网站上显示一个 实时 计数器 显示表中的行数 有点像一些网站如何 实时 显示注册用户数量或其他统计数据 即使用 ajax 或 websockets
  • 将锚标记设置为看起来像提交按钮

    我有一个表单 其中有一个 提交 按钮和一个 取消 锚点 HTML 是这样的
  • AuthLogic 表单给出了不正确的验证错误 - 为什么?

    我根据 AuthLogic 示例设置了 AuthLogic for Rails http github com binarylogic authlogic example http github com binarylogic authlo
  • 适用于 Windows 和 Cygwin 的 Makefile

    我需要有一个makefile在 Windows 和 Cygwin 下工作 我在 makefile 正确检测操作系统并设置适当的变量时遇到问题 目标是为以下命令设置变量 然后使用变量调用规则中的命令 删除文件 rm在西格温 del在Windo
  • 使用 jQuery/CSS 缩小/增大动画

    如何使用 jQuery 和 或 CSS 完成放大 缩小动画 我能想到的一个例子是this https www zaarly com当您点击Join Now button 我调查了动画 css http daneden me animate
  • 将行值聚合到列中

    我有这样的数据 2013 11 localhost kern 2013 11 localhost kern 2013 11 192 168 0 59 daemon 2013 12 localhost kern 2013 12 localho
  • “base”值只能用于直接调用被重写成员的基本实现

    为什么我不能打电话base实施f here type Base abstract f int gt int gt int default this f x int y int int x y type Derived inherit Bas
  • 执行 Python Azure Functions 时不显示记录 DEBUG 日志

    我创建了一个 Python Azure Functions 应用程序 在此应用程序中 我想检查日志详细信息 例如DEBUG INFO我已经编写了一些用于日志记录的代码 但是在执行我的azure函数应用程序后我无法获取任何日志 我已经编写了用
  • JS 重命名对象键,同时保留其在对象中的位置

    我的 javascript 对象如下所示 const someObj arr1 str1 str2 arr2 str3 str4 在尝试重命名密钥时 例如arr1 我最终删除现有的密钥并用原始值写入一个新密钥 这的顺序obj changes