JSON是一種常用的數據交換格式,它可以表示簡單的數據類型,如字符串、數字、布爾值,也可以表示復雜的數據類型,如對象、數組等。
當我們需要對一個JSON對象進行操作時,有時需要遞歸取出所有的key。下面是一個遞歸取出JSON對象中所有key的代碼示例:
function getAllKeys(obj) { let keys = []; if (typeof obj === 'object') { //判斷是否為對象 keys.push(Object.keys(obj)); //將對象的所有key加入keys數組 for (let key in obj) { //遍歷對象的每一個屬性 if (obj.hasOwnProperty(key)) { //判斷是否為對象自身屬性 keys = keys.concat(getAllKeys(obj[key])); //遞歸進入屬性中 } } } return keys.flat(); //轉換成一維數組 }
我們可以使用該函數來獲取JSON對象中所有的key,如下:
const obj = { 'a': 1, 'b': [1, 2, 3], 'c': { 'd': 4, 'e': { 'f': 5 } } }; const keys = getAllKeys(obj); console.log(keys); //輸出:["a", "b", "c", "d", "e", "f"]
以上就是如何使用遞歸函數來獲取JSON對象中所有的key的方法。我們可以應用此方法來完成一些需要遍歷JSON對象的操作。
上一篇css背景色不透明度
下一篇css背景色與背景圖片