Задать вопрос
crazy_str
@crazy_str
web-программист

Как сделать аналог foreach и isset на javascript?

На PHP я делаю так
if ( isset ( $api[$i]["attachments"] ) ) {

				foreach ( $api[$i]["attachments"] as $attacment ) {

					switch( $attacment["type"] ) {

						case "photo": $modal .= "<br /><img src=\"{$attacment["photo"]["photo_604"]}\" alt=\"\" title=\"\" align=\"center\">"; break;
						case "audio": $modal .= "<audio src=\"{$attacment["audio"]["url"]}\" controls></audio><i class=\"fa fa-music fa-3x\"></i>"; break;

					}

				}

			}

а как тоже самое сделать на Javascript?
  • Вопрос задан
  • 487 просмотров
Подписаться 1 Оценить 1 комментарий
Ответ пользователя Сергей Протько К ответам на вопрос (4)
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
if (api.hasOwnProperty('attachmens') && Array.isArray(api.attachments)) {
    api.attachments.forEach(function (attacment) {
    
    });
}


Но судя по примеру кода который вы предоставили - подумайте в сторону использования шаблонов на клиенте. Жить будет проще.

И да, и в PHP и в JS свитч можно заменить простым ассоциативным массивом. И код будет проще поддерживать, и разрастаться он не будет.

var tpl = {
    photo: ''tpl for photo,
    audio: 'some other tpl'
};
Ответ написан
Комментировать