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:遍历数组中的对象的主要内容,如果未能解决你的问题,请参考以下文章