我正在嘗試從陣列中回傳一組物件。所以例如。我有一個字串陣列:
const strArr = ["Some", "Thing"];
我需要為 strArr 中的每個位置回傳一個包含 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)
這段代碼給了我正確的結果,雖然地圖被錯誤地使用,我不得不使用let我不想使用的。
uj5u.com熱心網友回復:
您可以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; }
uj5u.com熱心網友回復:
這是一個帶有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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/364352.html
標籤:javascript 数组 打字稿
上一篇:干凈地推斷陣列值的型別
