Вот упрощенный метод forEach, который решит вашу проблему.
const cards = document.getElementById('tv-series-data')
results.forEach(result => {
const card = document.createElement('div')
card.id = result.id // ID's should be unique
card.innerHTML = `<img src="${img}${result.poster_path}">`
cards.appendChild(card)
})
Я действительно использовал бы набор для этого. Однако я вижу, что Вы действительно хотите байт. Используйте наборы везде затем преобразование типа к байту в конце.
Это решение потребует намного меньшего количества ввода, имеет поддержку стандартных операторов Дельфи и действительно не несет потери производительности, как указал Barry Kelly.
procedure Test;
type
TSetValues = (
TSetValue1 = 0,
TSetValue2 = 1,
TSetValue4 = 2,
TSetValue8 = 3,
TSetValue16 = 4,
TSetValue32 = 5,
TSetValue64 = 6,
TSetValue128 = 7
);
TMySet = set of TSetValues;
var
myValue: byte;
mySet: TMySet;
begin
mySet := [TSetValue2, TSetValue16, TSetValue128];
myValue := byte(mySet);
ShowMessage(IntToStr(myValue)); // <-- shows 146
end;
Я использовал бы набор для этого:
type
TMyDatum = (mdLoaded, mdPersisted, mdChanged, mdMarkedToDelete, ...);
TMyData = set of TMyDatum;
var
Foo: TMyData;
begin
Foo := [mdLoaded, mdChanged];
if (mdPersisted in Foo) then ...
Они реализованы как целые числа, таким образом, можно передать их легко. И я нахожу код очень, намного более читаемым, чем побитовые операторы.
Эта страница описывает операторы Delphi, включая побитовые операторы.
Это кажется, что необходимо использовать и оператор. Например:
const
LOADED_FROM_DATABASE = 1;
PERSISTED = 2;
CHANGED = 4;
// etc...
//...
if (bitFlags and LOADED_FROM_DATABASE) <> 0 then
begin
// handle LOADED FROM DATABASE
end;
if (bitFlags and PERSISTED) <> 0 then
begin
// handle PERSISTED
end;
// etc...
Для установки флагов можно использовать ИЛИ:
bitFlags := LOADED_FROM_DATABASE or PERSISTED or CHANGED;