最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析JavaScript如何將一個(gè)帶K-V特征的JSON數(shù)組轉(zhuǎn)換為JSON對(duì)象

 更新時(shí)間:2025年11月06日 09:57:38   作者:Humbunklung  
數(shù)據(jù)處理過程中,要將一個(gè)包含 key 和 value 屬性的 JSON 數(shù)組整合成一個(gè) JSON 對(duì)象,JavaScript中一般有三種實(shí)現(xiàn)方法,下面小編就為大家簡(jiǎn)單介紹一下吧

數(shù)據(jù)處理過程中,要將一個(gè)包含 keyvalue 屬性的 JSON 數(shù)組整合成一個(gè) JSON 對(duì)象(其中每個(gè)元素的 key 作為屬性名,value 作為屬性值),以下是幾種常用的 JavaScript 實(shí)現(xiàn)方法及示例,

方法 1:使用Array.prototype.reduce()

適用場(chǎng)景:兼容性要求高(支持 ES5+),可處理復(fù)雜邏輯(如數(shù)據(jù)過濾)。

代碼示例

const jsonArray = [
  { key: "name", value: "Alice" },
  { key: "age", value: 25 },
  { key: "city", value: "Beijing" }
];

const jsonObject = jsonArray.reduce((obj, item) => {
  obj[item.key] = item.value; // 將 key-value 對(duì)添加到對(duì)象
  return obj;
}, {}); // 初始化為空對(duì)象

console.log(jsonObject);
// 輸出:{ name: "Alice", age: 25, city: "Beijing" }

說明

通過 reduce 遍歷數(shù)組,逐步構(gòu)建對(duì)象。

方法 2:使用Object.fromEntries()(ES2019+)

適用場(chǎng)景:代碼簡(jiǎn)潔,現(xiàn)代瀏覽器或 Node.js 環(huán)境。

代碼示例

const jsonArray = [
  { key: "name", value: "Bob" },
  { key: "age", value: 30 }
];

// 先將數(shù)組轉(zhuǎn)換為 [key, value] 形式的二維數(shù)組
const entries = jsonArray.map(item => [item.key, item.value]);
const jsonObject = Object.fromEntries(entries);

console.log(jsonObject);
// 輸出:{ name: "Bob", age: 30 }

說明

Object.fromEntries() 直接接收鍵值對(duì)數(shù)組生成對(duì)象。

方法 3:手動(dòng)遍歷數(shù)組

適用場(chǎng)景:無需高階函數(shù),邏輯清晰易讀。

代碼示例

const jsonArray = [
  { key: "id", value: 1001 },
  { key: "status", value: "active" }
];

const jsonObject = {};
for (const item of jsonArray) {
  jsonObject[item.key] = item.value; // 逐項(xiàng)賦值
}

console.log(jsonObject);
// 輸出:{ id: 1001, status: "active" }

說明

通過循環(huán)直接賦值,適合初學(xué)者理解。

注意事項(xiàng)

1.鍵名沖突

若數(shù)組中有重復(fù)的 key,后出現(xiàn)的值會(huì)覆蓋先前的值。

可通過檢查重復(fù)鍵名提前處理:

if (obj.hasOwnProperty(item.key)) {
  console.warn(`重復(fù)鍵名: ${item.key}`);
}

2.空數(shù)組處理

空數(shù)組會(huì)返回空對(duì)象 {},符合預(yù)期。

3.復(fù)雜值類型

value 可以是任意類型(對(duì)象、數(shù)組等),轉(zhuǎn)換時(shí)會(huì)保留結(jié)構(gòu)。

4.JSON 字符串轉(zhuǎn)換

若需將結(jié)果轉(zhuǎn)為 JSON 字符串,使用 JSON.stringify(jsonObject)。

完整流程示例

// 輸入:JSON 數(shù)組
const jsonArray = [
  { key: "product", value: "Laptop" },
  { key: "price", value: 4999 },
  { key: "inStock", value: true }
];

// 方法1:reduce 轉(zhuǎn)換
const result = jsonArray.reduce((obj, item) => {
  obj[item.key] = item.value;
  return obj;
}, {});

console.log(result);
// 輸出:{ product: "Laptop", price: 4999, inStock: true }

總結(jié)

  • 推薦方法
    • 現(xiàn)代環(huán)境 → Object.fromEntries()(代碼最簡(jiǎn)潔)。
    • 兼容舊環(huán)境 → reduce() 或手動(dòng)遍歷。
  • 關(guān)鍵點(diǎn):確保數(shù)組元素包含 keyvalue 屬性,且 key 需為字符串類型。

通過上述方法,可高效地將結(jié)構(gòu)化數(shù)組轉(zhuǎn)換為易操作的 JSON 對(duì)象,適用于 API 數(shù)據(jù)處理、表單提交等場(chǎng)景。

到此這篇關(guān)于淺析JavaScript如何將一個(gè)帶K-V特征的JSON數(shù)組轉(zhuǎn)換為JSON對(duì)象的文章就介紹到這了,更多相關(guān)JavaScript JSON數(shù)組轉(zhuǎn)JSON對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

石门县| 革吉县| 方山县| 维西| 宜阳县| 慈利县| 济南市| 温泉县| 南和县| 黔南| 西藏| 中西区| 肥西县| 长丰县| 上虞市| 会昌县| 台州市| 北辰区| 九龙城区| 台南市| 剑河县| 黑水县| 太仓市| 昌平区| 东兰县| 仪征市| 满城县| 阳山县| 忻州市| 道孚县| 富锦市| 兴义市| 大渡口区| 资溪县| 鸡泽县| 开江县| 山阴县| 溆浦县| 曲靖市| 望奎县| 竹溪县|