国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

你不知道的JSON.stringify()妙用

alin / 951人閱讀

摘要:語法一般用法擴展用法可以是函數或者是數組。功能通過數組過濾某些屬性只需要屬性和屬性,其他不要。可以是數字或者是字符串如果是數字則表示屬性名前加上空格符號的數量,如果是字符串,則直接在屬性名前加上該字符串。功能類似于的第二個參數的功能。

1 語法
JSON.stringify(value[, replacer[, space]])

一般用法:

var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

JSON.stringify(user);

"{"name":"andy","isDead":false,"age":11,"addr":"shanghai"}"
2 擴展用法 2.1 replacer

replacer可以是函數或者是數組

功能1: 改變屬性值
將isDead屬性的值翻譯成0或1,0對應false,1對應true

var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

JSON.stringify(user, function(key, value){
    if(key === "isDead"){
        return value === true ? 1 : 0;
    }
    return value;
});

"{"name":"andy","isDead":0,"age":11,"addr":"shanghai"}"

功能2:刪除某個屬性
將isDead屬性刪除,如果replacer的返回值是undefined,那么該屬性會被刪除。

var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

JSON.stringify(user, function(key, value){
    if(key === "isDead"){
        return undefined;
    }
    return value;
});

"{"name":"andy","age":11,"addr":"shanghai"}"

功能3: 通過數組過濾某些屬性
只需要name屬性和addr屬性,其他不要。

var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

JSON.stringify(user, ["name", "addr"]);

"{"name":"andy","addr":"shanghai"}"
2.2 space

space可以是數字或者是字符串, 如果是數字則表示屬性名前加上空格符號的數量,如果是字符串,則直接在屬性名前加上該字符串。

功能1: 給輸出屬性前加上n個空格

var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

JSON.stringify(user, null, 4);

"{
    "name": "andy",
    "isDead": false,
    "age": 11,
    "addr": "shanghai"
}"

功能2: tab格式化輸出

var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

JSON.stringify(user, null, "	");
"{
    "name": "andy",
    "isDead": false,
    "age": 11,
    "addr": "shanghai"
}"

功能3: 搞笑

JSON.stringify(user, null, "good");
"{
good"name": "andy",
good"isDead": false,
good"age": 11,
good"addr": "shanghai"
}"
2.3 深拷貝
var user = {name: "andy", isDead: false, age: 11, addr: "shanghai"};

var temp = JSON.stringify(user);
var user2 = JSON.parse(temp);
3 其他

JSON.parse() 其實也是支持第二個參數的。功能類似于JSON.stringify的第二個參數的功能。

4 參考

MDN JSON.stringify()

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91954.html

相關文章

  • 你不知道 JSON.stringfy

    摘要:會對對象中的每一個鍵值對調用函數,然后會使用其返回值,作為格式化后的值,比如使每個屬性的值遞增函數在省略敏感數據時,十分有用。如果它發現方法,會調用它,然后將它的返回值替換格式化后的值,比如方法可以返回任意的值,包括對象基礎類型,或者。 http://thecodebarbarian.com/t... 寫在前面 JSON.stringfy()是將一個 JavaScript 對象轉化為 ...

    taohonghui 評論0 收藏0
  • 前端點滴

    摘要:走在前端的大道上持續更新,最后更新時間年月日從作用域說開去不再彷徨完全弄懂中的譯文總結你不知道的妙用深入理解之和中的對象拷貝高度自適應的個方法中與區別中回調地獄的今生前世細談中的一些設計模式重溫核心概念和基本用法圖片預加載及插件編寫實例跨域 走在前端的大道上 持續更新,最后更新時間2017年6月19日 從 JavaScript 作用域說開去 不再彷徨:完全弄懂JavaScript中的...

    CoderDock 評論0 收藏0
  • javascript中讓人懵逼類型轉換

    摘要:核心點中的強制類型轉換總是返回標量基本類型值。數字化對象在強制轉換為數字的時候,會優先調用方法,如果返回基本類型的值,則直接使用該返回值如果返回值不是基本類型,則會繼續調用方法,如果返回基本類型的值,則直接使用該返回值,否則報錯。 最近在讀《你不知道的javascript》系列圖書,收獲蠻大,感慨也挺多的。是的,關于javascript,你不是不知道,而是真的不知道。?就比如類型轉換,...

    didikee 評論0 收藏0
  • 你不知道JavaScript》 (中) 閱讀摘要

    摘要:這時候控制臺看到的是對象的快照,然而點開看詳情的話是這段代碼在運行的時候,瀏覽器可能會認為需要把控制臺延遲到后臺,這種情況下,等到瀏覽器控制臺輸出對象內容時,可能已經運行,因此會在點開的時候顯示,這是的異步化造成的。 本書屬于基礎類書籍,會有比較多的基礎知識,所以這里僅記錄平常不怎么容易注意到的知識點,不會全記,供大家和自己翻閱; 上中下三本的讀書筆記: 《你不知道的JavaScri...

    stackvoid 評論0 收藏0
  • 原理解釋 - 收藏集 - 掘金

    摘要:巧前端基礎進階全方位解讀前端掘金我們在學習的過程中,由于對一些概念理解得不是很清楚,但是又想要通過一些方式把它記下來,于是就很容易草率的給這些概念定下一些方便自己記憶的有偏差的結論。 計算機程序的思維邏輯 (83) - 并發總結 - 掘金從65節到82節,我們用了18篇文章討論并發,本節進行簡要總結。 多線程開發有兩個核心問題,一個是競爭,另一個是協作。競爭會出現線程安全問題,所以,本...

    AlphaGooo 評論0 收藏0

發表評論

0條評論

alin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<