В вашем коде есть несколько ошибок
Во-первых, вы не можете использовать ключевое слово var
в coffeescript
Далее вы повторно используете переменную idObj
в l oop и за ее пределами, поэтому он скрыт внутри вашего l oop и не может использоваться
И, похоже, существует несоответствие между вашим кодом и вашим выводом, поскольку нигде вы не возвращаете логическое значение.
Вот рабочий пример того, что вы пытаетесь сделать:
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
, который содержит идентификатор объекта, который вы пытаетесь найти
L oop перебирает массив объектов, поэтому каждый элемент является объектом. Я проверяю, совпадает ли идентификатор объекта с тем, что вы ищете, и если это так, я назначаю его для targetObj, чтобы вы могли использовать его после l oop
В качестве альтернативы вы можете сделать это как единое целое -линер с использованием некоторых фильтров понимания доступны:
targetObj = (obj for obj in val when obj.id is 1)[0]