ES6 提供了豐富的數組方法,如果我們想把一個數組轉成 JSON 對象該怎么做呢?可以使用JSON.stringify()
方法。
// 定義一個數組
const arr = ['apple', 'banana', 'orange'];
// 使用 JSON.stringify() 轉成 JSON 對象
const jsonArr = JSON.stringify(arr);
console.log(jsonArr);
// 輸出結果:["apple","banana","orange"]
上述代碼中,我們首先定義了一個數組arr
,接著使用JSON.stringify()
方法將其轉成 JSON 對象,并將轉換后的結果存儲在jsonArr
變量中。最后使用console.log()
方法輸出轉換后的結果。
需要注意的是,如果數組中包含了對象或函數等不能被序列化的值,那么在使用JSON.stringify()
方法時會報錯。如果想要排除這些不能被序列化的值,我們可以傳遞一個回調函數給JSON.stringify()
方法,該函數會接收兩個參數:key
和value
,我們只需在其中處理需要排除的值即可。
// 定義一個包含對象的數組
const arr = ['apple', {name: 'banana'}, () => 'orange'];
// 使用 JSON.stringify() 轉成 JSON 對象,排除函數
const jsonArr = JSON.stringify(
arr,
(key, value) => {
if (typeof value === 'function') {
return undefined;
}
return value;
}
);
console.log(jsonArr);
// 輸出結果:["apple",{"name":"banana"}]
上述代碼中,我們定義了一個包含對象和函數的數組arr
,然后傳遞了一個回調函數給JSON.stringify()
方法,該函數會判斷當前值是否為函數,如果是,則返回undefined
,否則返回原值。這樣我們就可以排除數組中的函數,最終輸出轉換后的結果。