arrays - CoffeeScript:循环遍历数组中的对象

标签 arrays for-loop coffeescript

我对 CoffeeScript 相当陌生,正在尝试循环遍历数组中的对象,但无法使其正常工作。

var val = [
    {id: 1, Text: "first" },
    {id: 2, Text: "Second" },
    {id: 3, Text: "Third" }
]
var idObj = 1

for idObj in val 
    console.log('this is' + idObj)

从上面的代码中,我试图找到 id 为 1 的对象,但它对所有对象都返回 true。 我已经看过如何循环数组的示例,但不确定它如何适用于数组中的对象

谢谢

最佳答案

您的代码中有一些错误

首先,你不能在coffeescript中使用var关键字

接下来,您在循环内部和外部重用变量idObj,因此它在循环内部被隐藏并且不可用

您的代码和输出之间似乎不匹配,因为您没有返回 bool 值。

这是您正在尝试执行的操作的示例:

val = [
  {id: 1, Text: "first" },
  {id: 1, Text: "first" },
  {id: 2, Text: "Second" },
 {id: 3, Text: "Third" }
]

targetId = 1

for obj in val
  if obj.id is targetId
    targetObj = obj

console.log(targetObj)

我将 idObj 重命名为 targetId,其中包含您要查找的对象的 ID

循环遍历对象数组,因此每个项目都是对象。 我检查对象的 id 是否与您要搜索的内容匹配,如果匹配,我将其分配给 targetObj,以便您可以在循环后使用它

或者,您可以使用 comprehension filters 中的一些内容将其作为单行代码来完成。可用:

targetObj = (obj for obj in val when obj.id is 1)[0]

关于arrays - CoffeeScript:循环遍历数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61478920/

相关文章:

javascript - session 更改时函数中的 meteor react

java - 我对这个嵌套 for 循环没有想法了

android - ListView 在 Scroll 上改变数据

node.js - CoffeeScript + Node : caching the compiled server-side javascript using require

javascript - 如何将图片附加到数组的位置? javascript

python - 使用循环描述多个条件

javascript - AngularJS 无法发送内容类型为 :application/json 的发布请求

javascript - 检查 JavaScript 数组中真值的最简单方法

java - 什么是NumberFormatException,我该如何解决?

javascript - 将印度-阿拉伯数字转换为英文数字