簡體   English   中英

通過歸約和數組返回對象數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM