[英]Returning a array of objects by reducing and array
我正在嘗試從數組中返回一個對象數組。 舉個例子。 我有一個字符串數組:
const strArr = ["Some", "Thing"];
我需要從 strArr 中為每個 position 返回一個包含 2 個對象的數組,例如:
result:
[{first_key: "Some"}, {second_key: "Some"}, {first_key: "Thing"}, {second_key: "Thing"}]
我已經這樣做了,這很有效,但我寧願在沒有let
的情況下工作:
const numeros = ["some", 'thing']
let arr = [];
numeros.map(valor => {
const titleContains = {
title_contains: valor,
}
const bodyContains = {
body_contains: valor,
}
arr.push(titleContains);
arr.push(bodyContains);
});
console.log(arr)
這段代碼給了我正確的結果,雖然 map 使用錯誤,我必須使用我不想使用的let
。
您可以使用Array#flatMap
並為每個值返回兩個對象。
const data = ["Some", "Thing"], result = data.flatMap(valor => [{ first_key: valor }, { second_key: valor }]); console.log(result);
.as-console-wrapper { max-height: 100%;important: top; 0; }
這是一個帶有 reduce 的版本,您可以在此處閱讀更多相關信息 :)
const numeros = ["some", 'thing'] const arr = numeros.reduce((acc, valor) => { const titleContains = { title_contains: valor, } const bodyContains = { body_contains: valor, } acc.push(titleContains); acc.push(bodyContains); return acc; }, []); // <==== note an empty array here. console.log(arr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.