+
имеет более высокий приоритет оператора (14), чем условный оператор (4). Ваш текущий код эквивалентен
carouselItem += ('<div class=carousel-item>' + index === 0) ? 'a' : 'b'
Мало того, что сравнение неверно, так и назначение. Измените на:
carouselItem += '<div class="carousel-item ' + (index === 0 ? 'a' : 'b') + '"> </div>';
, чтобы условное сгруппировалось правильно. Вы также, вероятно, хотите закончить начатый <div
. Кроме того, .map
следует использовать только тогда, когда вы хотите создать новый массив. Если вам нужны только побочные эффекты, используйте forEach
.
jsonResponse.data.forEach((image, index) => {
carouselItem += '<div class="carousel-item ' + (index === 0 ? 'a' : 'b') + '"> </div>';
});
Вы можете использовать .map
здесь, если хотите, но если это так, верните <div>
, который вы хотите , затем соедините это вместе:
const carouselItem = jsonResponse.data.map((image, index) => (
'<div class="carousel-item ' + (index === 0 ? 'a' : 'b') + '"> </div>'
))
.join('');