Вы помещаете только необработанные значения в массив list
.Возможно, вы захотите либо вставить готовые объекты прямо в функцию listAllKeys
, либо создать свои объекты, как только закончите со списком.Судя по вашим именам (slideName, imageUrl и textUrl), кажется, что у вас там больше вещей.
Соответствующая часть здесь (написана чуть более кратко на javascript):
for (let i = 0; i < data.Contents.length; i++) {
const key = `https://s3.amazonaws.com/lifestyle345/${ data.Contents[i].Key }`;
if (key.substring(0, 19) != end) {
const endObject = {
slideName: 'Whatever slide. Where do you get the info from?',
imageUrl: key,
textUrl: 'whatever, also no info',
}
list.push(endObject );
}
}
Как видите, я помещаю сам объект в список, а не просто строку с URL-адресом.
В качестве альтернативы, вы можете составить список, как и тогда, и затемв конце зациклите его и получите ваш список:
const list = [];
for (...) {
...
list.push(url);
}
// after you get the list of URLs, you get the objects:
const objects = list.map(function (url) {
return {
slideName: 'Whatever slide. Where do you get the info from?',
imageUrl: url,
textUrl: 'whatever, also no info',
}
});
console.log(JSON.stringify(objects, null, 2));
Примечание 1 : я не знаю, откуда вы взяли textUrl
, поэтому сейчас я его пропускаю, Примечание 2 : вам лучше переместить оператор var list = []
внутри вашей функции listAllKeys
, или он может содержать все значения, которые вы получили, с первого раза, когда вы начали вызывать функцию.