Я пытаюсь извлечь значения из объекта, который содержит массивы. Вот как выглядит объект:
export const myBookList: Row[] =
[
{
bookInfo: [
{
title: "The jungle book",
isbn: "42398486965239671234",
Author: "Rudyard Kipling"
},
{
title: "20,000 Leagues Under the Sea",
isbn: "42234486234239675678",
Author: "Jules Verne"
},
{
title: "The Call of the Wild",
isbn: "4239848696523967670",
Author: "Jack London"
}
],
value: [],
id: 0
},
{
bookInfo: [
{
title: "The jungle book 2",
isbn: "327865923874659276",
Author: "Rudyard Kipling"
},
{
title: "20,000 Leagues Under the Sea 2",
isbn: "269587649587264675",
Author: "Jules Verne"
},
{
title: "The Call of the Wild",
isbn: "2378687827584758765",
Author: "Rudyard Kipling"
}
],
value: [],
id: 1
}
];
Я бы хотел go просмотреть все ключи и значения объекта (особенно ключи / значения в массиве bookInfo) и когда ключ соответствует переданный строковый параметр "myKey" найден, я хотел бы вернуть значение ключа. Приведенный ниже код работает нормально, но поскольку записей в myBookList больше, чем один ... когда я обнаружил, что я соответствую, я не могу выйти из процедуры из-за каждой итерации (forEach в машинописи не принимает break или return) и я всегда получаю последние записи объекта. Как это решить?
getValue(data: Row, myKey: string): string {
let retValue: string = "";
data.forEach(function(item) {
item.bookInfo.forEach(function(key, index){
console.log(key, index);
if (key===myKey) {
console.log(key, index);
ret=key.value;
}
});
});
return retValue;
}