У меня есть index.js, из которого я вызываю util.js, как показано ниже:
util.js
module.exports.getResult = json => {
return json.hits.hits.map(element => {
const { _source } = element;
return _source.details
.filter(item => item.hasOwnProperty('deliveryDetails'))
.map(item => {
return item.deliveryDetails
.filter(deliveryDetail => deliveryDetail.noOfItems > 0)
.map(deliveryDetail => {
return {
id: item.Id,
name: _source.name,
noOfItems: deliveryDetail.noOfItems,
};
});
});
});
};
Так как я возвращаюсь несколько раз, результат из самого внутреннего .map изменяется в массив массива. Это то, что ожидается при итерации или я делаю это неправильно?
Затем, чтобы получить результат в одном конечном массиве, я должен сделать это ниже в index.js:
const temp = helper.getResult(json);
const result = [].concat.apply([], [].concat.apply([], temp));
Есть ли лучший способ сделать это?