Как мне перебрать массив для определенного значения в CoffeeScript - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь перебрать массив с CoffeeScript, чтобы извлечь значение full_name, как показано ниже. Я был во всем переполнении стека и документации CoffeeScript за последние несколько дней и не могу понять это. Это то, что у меня сейчас есть. Можете ли вы сказать мне, что я делаю не так?

Угловой JS

<disabled-display template="{{ctrl.getTechnicianNames()}}">

CoffeeScript

ctrl.getTechnicianNames = (full_name) ->
    array_of_persons = ctrl.technicians
    ctrl.getTechnicianNames full_name for full_name in array_of_persons

ctrl.technicians

{email: "email@address.com", first_name: "John", full_name: "John Johnson",
last_name: "Johnson"}, 
{email: "address@email.com", first_name: "Frank", full_name: "Frank Franklin",
last_name: "Franklin"}

Ответы [ 2 ]

2 голосов
/ 28 октября 2019

Существует гораздо более удобный способ записи:

ctrl.technitianNames = -> (t.full_name for t in @technicians)

Обратите внимание на исключение префикса get. Это считается запахом кода на (насколько мне известно) языках, отличных от Java и C ++.

1 голос
/ 27 октября 2019
ctrl.getTechnicianNames = ->
    ctrl.technicians.map((technician) => technician.full_name)

Ничего особенного для CoffeeScript в этом нет, вам просто нужно Array.prototype.map: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...