我試圖獲得如下結果以呼叫 SQL 查詢。它是一個物件陣列(每個物件都有一個鍵,這將是VALUE一個值。值必須是單引號,末尾有逗號):
[
{ VALUE: 'A', },
{ VALUE: 'B', },
{ VALUE: 'C', },
{ VALUE: 'D', },
{ VALUE: 'E', },
{ VALUE: 'F' }
]
我嘗試使用 for 函式,在該函式中為串列中的每個元素添加一個物件。這是我得到的結果:
代碼:
let arr = [];
const len = reqBody.values.length;
for (let i = 0; i < len; i )
{
arr.push( { VALUE: reqBody.values[i] } )
}
結果:
[
{ VALUE: 'A' },
{ VALUE: 'B' },
{ VALUE: 'C' },
{ VALUE: 'D' },
{ VALUE: 'E' },
{ VALUE: 'F' }
]
我嘗試使用末尾map帶有 a 的箭頭函式,join以便嘗試在每個值之后添加逗號(因此結果代碼的第二行類似于{ VALUE: 'A', }:)但我無法讓它作業,因為那回傳一個字串陣列,而不是我需要的物件。
這是上面描述的代碼:
代碼:
let arr = [];
const len = reqBody.values.length;
for (let i = 0; i < len; i )
{
arr.push(Object.values({ VALUE: reqBody.values[i] }).map(v => `{ VALUE: '${v}', }`).join(','))
}
結果:
[
"{ VALUE: 'A', }",
"{ VALUE: 'B', }",
"{ VALUE: 'C', }",
"{ VALUE: 'D', }",
"{ VALUE: 'E', }",
"{ VALUE: 'F', }",
]
有什么方法可以將 map 函式中的字串轉換為物件?
uj5u.com熱心網友回復:
您需要將整個事物構造為連接字串,而不是陣列。
let reqBody = {
values: ['A', 'B', 'C']
};
let items = reqBody.values.map(v => `{ VALUE: '${v}', }`);
let result = '[\n ' items.join(',\n ') '\n]';
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/478578.html
標籤:javascript 数组 json 目的
