JavaScript 中的 For..In 循环 - 键值对

2023-11-25

我想知道是否有办法做类似 PHP 的事情foreachJavaScript 中的循环。我正在寻找的功能类似于这个 PHP 片段:

foreach($data as $key => $value) { }

我正在看JSfor..in循环,但似乎没有办法指定as。如果我用“正常”for 循环来做到这一点(for(var i = 0; i < data.length; i++),有没有办法获取 key => value 对?


for (var k in target){
    if (target.hasOwnProperty(k)) {
         alert("Key is " + k + ", value is " + target[k]);
    }
}

hasOwnProperty用于检查您的target确实具有该属性,而不是从其原型继承它。更简单一点的是:

for (var k in target){
    if (typeof target[k] !== 'function') {
         alert("Key is " + k + ", value is" + target[k]);
    }
}

它只是检查k不是一种方法(就好像target is array您会收到很多方法的警报,例如indexOf, push, pop,etc.)

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

JavaScript 中的 For..In 循环 - 键值对 的相关文章

  • 从 thymeleaf 获取数据到模态引导程序、jquery

    我正在尝试获取模态视图的 id 这是为了更新 onclick 元素 但我找不到方法 知道如何为 boostrap 5 完成此操作 或我可以用其他方法吗 谢谢 tr a inactivate a div class modal fade mo
  • 主干视图 DOM 元素已删除

    我一直在阅读有关 Backbone js 僵尸 或内存泄漏 问题的信息 基本上 当您不再需要该元素时 您必须从 DOM 中解除绑定并删除该元素 以确保所有事件也被删除 现在 我有一个包含几个容器的单页应用程序 div div div div
  • 解析“流”JSON

    我在浏览器中有一个网格 我想通过 JSON 将数据行发送到网格 但浏览器应该在接收到 JSON 时不断解析它 并在解析时将行添加到网格中 换句话说 在接收到整个 JSON 对象后 不应将行全部添加到网格中 应该在接收到行时将其添加到网格中
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Firefox 书签探索未超过 Javascript 的第一级

    我已经编写了一些代码来探索我的 Firefox 书签 但我只获得了第一级书签 即我没有获得文件夹中的链接 e g 搜索引擎 雅虎网站 谷歌网站 在此示例中 我只能访问 Search engines 和 google com 不能访问 yah
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c

随机推荐

  • 将背景图像设置为动态 svg 数据?

    最初我有一些内联 svg 它可以按我想要的方式工作
  • PHP SOAP 过程“functionName”不存在

    我正在 Symfony 中编写 SOAP 应用程序 对于我的所有请求 我收到错误Procedure getClusterName not present 奇怪的是 当我用纯 PHP 创建测试 SOAP 应用程序时 它工作正常 但 Symfo
  • 测试 APK 扩展库时出现问题

    我已经将来自 Google 的 APK 扩展文件下载库集成到我的项目中 它的工作或多或少都正常 除了一些小问题 其他人已经在 SO 上报告过这些问题 然而 我很难测试它 当我第一次测试它时 我将签名的 APK 主扩展文件版本 1 上传到 G
  • 如何通过 app.config 变量覆盖 settings.settings 变量

    如何通过在生产时将变量添加到 app config 来更改 或覆盖 settings settings 变量 无论如何 这可能吗 您必须直接引用您尝试覆盖的 applicationSettings 并显式指定具有替换值的属性
  • 如何修复架构 x86_64 的 g++ 未定义符号错误?

    首先 我已经阅读了Stackoverflow上关于这个问题的相关内容 但仍然无法解决 我已经尽可能地简化了我的代码 我只有一个带有 h 和 cpp 文件的自定义类 但在尝试从 main cpp 创建此类的实例时出现错误 main cpp i
  • .NET 内核之间线程的移动

    跟进问题来自多核使用 线程 线程池 线程在其生命周期内是否从一个核心移至另一个核心 当然 想象一下你有三个 在双核系统上运行的线程 给我一个公平的时间表 但不 涉及定期移动线程 核心之间 这是我第一次访问这个网站 所以我想我没有足够的代表来
  • MongoDB c# 驱动程序 - 名为 Id 的字段可以不是 Id 吗?

    更具体地说 有一个类 class X string Id get set class Y X ObjectId MyId get set 我希望 MyId 成为 Y 的 id 即映射到 id 是否可以 在这段代码之后我得到一个异常 var
  • SQLAlchemy - 如何映射只读(或计算)属性

    我试图弄清楚如何映射一个简单的只读属性 并在保存到数据库时触发该属性 一个人为的例子应该可以让这一点更加清楚 首先 一个简单的表格 meta MetaData foo table Table foo meta Column id Strin
  • 用因子替换一定范围内的数字[重复]

    这个问题在这里已经有答案了 给定一个由一系列整数 年龄 组成的数据帧列 我想将整数范围转换为序数变量 我当前的代码不起作用 我该怎么做 df lt read table http dl dropbox com u 822467 df csv
  • unity Shader 使用 Shader.Find 时返回 NULL

    就像声明的那样here我不是唯一发现以下问题的人 Shader Find 返回 Null 在上面的链接中 他们通过在资源文件夹中创建某些内容 给出了解决方案 但我不确定我是否理解 首先 这对于所有情况都是必要的吗 意味着 Shader Fi
  • 更改 Windows 窗体中的内容

    我正在使用 Windows 窗体在 C 中制作一个应用程序 我想完全交换 Windows 窗体中的所有内容并将其替换为其他内容 有什么方便的方法可以做到这一点吗 示例 我有一个菜单 当我单击 开始 时 我希望菜单消失并开始游戏 我没有使用
  • Windows Phone 7.1 和 Windows Phone 8 上的 Sqlite

    我正在开发一个适用于 Windows Phone 7 1 7 5 8 必须适用于两者 的应用程序 其中需要数据库连接 该应用程序已经针对 Iphone 和 Android 实现 因此我必须使用那里的数据库文件 以使所有应用程序的数据库结构都
  • 我是否使用正确的方法来监视创建句柄时要执行的任务?

    是否有普遍接受的最佳实践来创建自行取消订阅的事件处理程序 例如 我想到的第一件事是 Foo cs Bar bar new Bar add l req d state EventHandler handler new EventHandler
  • 在 Android 应用程序中从 Java JSch 中的字符串或资源加载私钥

    我正在编写一个应用程序 该应用程序应该使用 JSch 通过 SSH 访问我的私人服务器 由于我已经设置了公钥身份验证 因此我希望此应用程序以相同的方式进行身份验证 我将是唯一使用此应用程序的人 因此我想将我的密钥直接存储在应用程序内 例如硬
  • 如何使用 git-cache-meta?

    我想将目录的权限保留在 git 存储库中 似乎一种简单的方法是使用git cache meta 其用途的示例和最小解释是什么 如果您指的是this实施git cache meta 那么您需要做的就是确保该脚本位于您的 PATH 中 将其放入
  • 当警告趋势出现时,如何将构建标记为不稳定?

    因此 我们将 Jenkins 与 MS Build 结合使用来构建我们的项目 我们还有一个警告插件以及我们项目中的大量警告 我正在努力与这些警告作斗争 我想要采取的步骤之一是 当最后一个构建中的警告数量大于前一个构建时 将构建标记为不稳定
  • PHP 中的整数四舍五入到最接近的 5 的倍数

    搜索将数字四舍五入到最接近的 5 倍数的函数 22 gt 20 23 gt 25 40 gt 40 46 gt 45 48 gt 50 等等 尝试过这个总是返回更高的值 5 ceil n 5 Use round 代替ceil 5 round
  • Laravel:任务调度[并行]

    我有多项任务需要每隔一两个小时完成一次 所有这些都已通过 Laravel 使用以下命令作为 cron 作业进行安排 schedule gt command email notifications1 gt cron 15 schedule g
  • 如何在package.json中使用环境变量

    因为我们不希望项目代码中包含敏感数据 包括 package json 文件 所以在我看来 使用环境变量将是一个合理的选择 示例 package json dependencies accounting 0 4 0 async 1 4 2 m
  • JavaScript 中的 For..In 循环 - 键值对

    我想知道是否有办法做类似 PHP 的事情foreachJavaScript 中的循环 我正在寻找的功能类似于这个 PHP 片段 foreach data as key gt value 我正在看JSfor in循环 但似乎没有办法指定as