ES6中新增的for of循環(huán)是一種遍歷可迭代對象的方式,而JSON就是一種可迭代對象。因此,我們可以使用for of循環(huán)來遍歷JSON對象。下面是一個(gè)簡單的例子:
const jsonObj = { "name": "張三", "age": 25, "sex": "男" }; for (const key of jsonObj) { console.log(key); }
以上代碼將會拋出一個(gè)錯(cuò)誤,因?yàn)镴SON對象不是一個(gè)可迭代對象。為了讓JSON對象可以被for of循環(huán)遍歷,我們需要將其轉(zhuǎn)換為一個(gè)可迭代的對象。我們可以使用ES6中的內(nèi)置方法Object.keys()將JSON對象的鍵值轉(zhuǎn)換為一個(gè)數(shù)組:
const jsonObj = { "name": "張三", "age": 25, "sex": "男" }; for (const key of Object.keys(jsonObj)) { console.log(key, jsonObj[key]); }
在以上代碼中,我們使用了Object.keys()方法將JSON對象的鍵值轉(zhuǎn)換為一個(gè)數(shù)組,然后在for of循環(huán)中遍歷該數(shù)組。變量key代表了數(shù)組中的每一個(gè)鍵名,我們可以通過jsonObj[key]來獲取對應(yīng)的鍵值。
除了使用Object.keys()方法外,我們還可以使用ES6中的Object.entries()方法將JSON對象的鍵值轉(zhuǎn)換為一個(gè)鍵值對的數(shù)組。以下是一個(gè)例子:
const jsonObj = { "name": "張三", "age": 25, "sex": "男" }; for (const [key, value] of Object.entries(jsonObj)) { console.log(key, value); }
在以上代碼中,我們使用了Object.entries()方法將JSON對象的鍵值轉(zhuǎn)換為一個(gè)鍵值對的數(shù)組,然后在for of循環(huán)中以數(shù)組的形式遍歷。變量key和value分別代表了數(shù)組中的鍵名和鍵值。
總之,ES6中的for of循環(huán)是一種非常方便的遍歷可迭代對象的方式,而在遍歷JSON對象時(shí),我們需要先將其轉(zhuǎn)換為一個(gè)可迭代的對象。我們可以使用Object.keys()方法將鍵值轉(zhuǎn)換為一個(gè)數(shù)組,也可以使用Object.entries()方法將鍵值轉(zhuǎn)換為一個(gè)鍵值對的數(shù)組。