coffeescript:遍历数组中的对象

Posted

技术标签:

【中文标题】coffeescript:遍历数组中的对象【英文标题】:coffeescript: loop through objects in array 【发布时间】:2020-08-12 04:35:00 【问题描述】:

我对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。 我已经看到了如何遍历数组的示例,但不确定它如何用于数组中的对象

谢谢

【问题讨论】:

【参考方案1】:

您的代码中有一些错误

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

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

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

这是您尝试做的一个工作示例:

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]

【讨论】:

以上是关于coffeescript:遍历数组中的对象的主要内容,如果未能解决你的问题,请参考以下文章

VueJS 遍历对象中的数组?

thymeleaf的th:each怎么遍历js中的数组?

循环遍历 D3 中的数组数组

37 掌握v-for遍历数组和对象

json数组存储了两个对象,要怎么遍历

遍历jade/pugjs 中的对象数组