我正在做我的個人專案,我需要一點幫助。我有一個表,其中包含一些具有name和value屬性的輸入。問題是我需要用成對創建一個 JSON name: value。我如何用香草 JS 做類似的事情?
我的代碼列印我所擁有的:
// Get all inputs from table and print name and value
document.querySelectorAll("table input").forEach((e) => {
console.log(e.name, e.value);
});
我需要的:
{
name1: value1,
name2: value2,
name3: value3,
name4: value4,
}
uj5u.com熱心網友回復:
從一個空物件開始,然后當您迭代輸入時,只需為該物件分配一個新的鍵值對。
const obj = {}
// Get all inputs from table and print name and value
document.querySelectorAll("input").forEach((e) => {
obj[e.name] = e.value
})
console.log(obj)
<input name="foo" value="foo">
<input name="bar" value="bar">
使用JSON.stringify(obj)將其轉換到一個JSON,如果需要的字串。
uj5u.com熱心網友回復:
這是實作相同目標的另一種方法。
const userData = [...document.querySelectorAll("table input")]
.reduce((obj, {name, value}) => {
obj[name] = value;
return obj;
}, {});
console.log(userData);
<table>
<tr><td> <input name="name" value="Brandon Victors" /> </td></tr>
<tr><td> <input name="age" value="16" /> </td></tr>
<tr><td> <input name="country" value="USA" /> </td></tr>
<tr><td> <input name="state" value="Florida" /> </td></tr>
<tr><td> <input name="number" value="(123) 456-7890" /> </td></tr>
</table>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/392458.html
標籤:javascript json
上一篇:從陣列中洗掉特定字串
