欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript將對象轉(zhuǎn)換為數(shù)組的多種方式

 更新時間:2025年05月16日 08:39:13   作者:一杯甜夢去冰全糖  
在 JavaScript 中,將對象轉(zhuǎn)換為數(shù)組有多種方式,具體取決于對象的類型和需要提取的內(nèi)容,以下是常見的幾種場景及實現(xiàn)方法,需要的朋友可以參考下

JavaScript對象轉(zhuǎn)數(shù)組

1. 將對象的鍵(Keys)轉(zhuǎn)換為數(shù)組

使用 Object.keys() 提取對象的所有可枚舉屬性名:

const obj = { a: 1, b: 2, c: 3 };
const keys = Object.keys(obj); 
console.log(keys); // ["a", "b", "c"]

2. 將對象的值(Values)轉(zhuǎn)換為數(shù)組

使用 Object.values() 提取對象的所有可枚舉屬性值:

const obj = { a: 1, b: 2, c: 3 };
const values = Object.values(obj); 
console.log(values); // [1, 2, 3]

3. 將對象的鍵值對(Entries)轉(zhuǎn)換為數(shù)組

使用 Object.entries() 提取鍵值對,返回 [key, value] 格式的二維數(shù)組:

const obj = { a: 1, b: 2, c: 3 };
const entries = Object.entries(obj); 
console.log(entries); 
// [ ["a", 1], ["b", 2], ["c", 3] ]

4. 將類數(shù)組對象(Array-like Object)轉(zhuǎn)為數(shù)組

使用 Array.from() 或 擴(kuò)展運(yùn)算符(... 轉(zhuǎn)換類數(shù)組對象(如 arguments、DOM 元素集合):

// 示例 1: arguments 對象
function example() {
  const argsArray = Array.from(arguments);
  console.log(argsArray); // [1, 2, 3]
}
example(1, 2, 3);

// 示例 2: NodeList(DOM 元素列表)
const divs = document.querySelectorAll("div");
const divArray = [...divs]; // 擴(kuò)展運(yùn)算符

5. 自定義轉(zhuǎn)換(復(fù)雜對象處理)

使用 Array.map() 或 reduce() 對對象屬性進(jìn)行靈活處理:

const obj = { a: 1, b: 2, c: 3 };

// 轉(zhuǎn)換為 [{ key: 'a', value: 1 }, ...]
const arr = Object.entries(obj).map(([key, value]) => ({ key, value }));
console.log(arr); 
// [
//   { key: "a", value: 1 },
//   { key: "b", value: 2 },
//   { key: "c", value: 3 }
// ]

6. 處理嵌套對象(遞歸轉(zhuǎn)換)

若對象包含嵌套結(jié)構(gòu),需遞歸處理:

function deepConvert(obj) {
  return Object.entries(obj).map(([key, value]) => {
    if (typeof value === "object" && value !== null) {
      return [key, deepConvert(value)]; // 遞歸處理嵌套對象
    }
    return [key, value];
  });
}

const nestedObj = { a: 1, b: { c: 2, d: { e: 3 } } };
console.log(deepConvert(nestedObj)); 
// [ ["a", 1], ["b", [ ["c", 2], ["d", [ ["e", 3] ] ] ] ]

總結(jié)

場景方法示例
提取鍵Object.keys()["a", "b", "c"]
提取值Object.values()[1, 2, 3]
提取鍵值對Object.entries()[ ["a",1], ["b",2] ]
類數(shù)組對象轉(zhuǎn)數(shù)組Array.from()[...][div1, div2]
自定義格式轉(zhuǎn)換map + Object.entries()[{ key: "a", value: 1 }, ...]
嵌套對象轉(zhuǎn)多維數(shù)組遞歸處理[ ["a",1], ["b", [ ["c",2] ] ]

注意事項

  • Symbol 屬性Object.keys()/values()/entries() 不包含 Symbol 類型的鍵,需使用 Object.getOwnPropertySymbols()。
  • 不可枚舉屬性:上述方法僅提取可枚舉屬性,若需包含所有屬性,需用 Reflect.ownKeys()
  • 舊瀏覽器兼容性Object.values()Object.entries() 需 ES2017+ 支持,舊環(huán)境需 Polyfill。

到此這篇關(guān)于JavaScript將對象轉(zhuǎn)換為數(shù)組的多種方式的文章就介紹到這了,更多相關(guān)JavaScript對象轉(zhuǎn)為數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解JavaScript數(shù)組過濾相同元素的5種方法

    詳解JavaScript數(shù)組過濾相同元素的5種方法

    本篇文章主要介紹了詳解JavaScript數(shù)組過濾相同元素的5種方法,詳細(xì)的介紹了5種實用方法,非常具有實用價值,需要的朋友可以參考下
    2017-05-05
  • Webpack?ECMAScript?模塊詳解

    Webpack?ECMAScript?模塊詳解

    ECMAScript 模塊(ESM)是在 Web 中使用模塊的規(guī)范, 所有現(xiàn)代瀏覽器均支持此功能,同時也是在 Web 中編寫模塊化代碼的推薦方式,這篇文章主要介紹了Webpack?ECMAScript?模塊,需要的朋友可以參考下
    2023-12-12
  • 慎用 somefunction.prototype 分析

    慎用 somefunction.prototype 分析

    在寫 JavaScript 腳本的時候,為了創(chuàng)建一個類,如果不使用框架,一般情況我們都會使用 prototype 來給要創(chuàng)建的類增加公有方法
    2009-06-06
  • JS判斷字符串包含的方法

    JS判斷字符串包含的方法

    這篇文章主要介紹了JS判斷字符串包含的方法,可有效的檢測字符串中是否包含固定字符或子字符串,涉及javascript中indexOf的使用技巧,非常簡單實用,需要的朋友可以參考下
    2015-05-05
  • d3.js入門教程之?dāng)?shù)據(jù)綁定詳解

    d3.js入門教程之?dāng)?shù)據(jù)綁定詳解

    這篇文章主要介紹了關(guān)于d3.js數(shù)據(jù)綁定的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)只d3.js具有一定的參考價值,需要的朋友下面來一起看看吧。
    2017-04-04
  • JS根據(jù)獎品權(quán)重計算中獎概率

    JS根據(jù)獎品權(quán)重計算中獎概率

    這篇文章主要介紹了JS計算中獎概率實現(xiàn)抽獎的方法,對算法感興趣的同學(xué),可以參考下
    2021-05-05
  • javascript 動態(tài)修改樣式和層疊樣式表代碼

    javascript 動態(tài)修改樣式和層疊樣式表代碼

    javascript 動態(tài)修改樣式和層疊樣式表代碼,需要的朋友可以參考下。
    2010-04-04
  • ionic中列表項增加和刪除的實現(xiàn)方法

    ionic中列表項增加和刪除的實現(xiàn)方法

    在項目中遇到表單似的頁面,需要進(jìn)行增加一行和減少一行的操作,基于ionic怎么實現(xiàn)呢?下面小編給大家分享ionic中列表項增加和刪除的實現(xiàn)方法,一起看看吧
    2017-01-01
  • js 實現(xiàn)無縫滾動 兼容IE和FF

    js 實現(xiàn)無縫滾動 兼容IE和FF

    js 實現(xiàn)無縫滾動 兼容IE FF,大家可以看看。
    2009-07-07
  • 淺談JS繼承_借用構(gòu)造函數(shù) & 組合式繼承

    淺談JS繼承_借用構(gòu)造函數(shù) & 組合式繼承

    下面小編就為大家?guī)硪黄獪\談JS繼承_借用構(gòu)造函數(shù) & 組合式繼承。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論