• javascript 中的json


    摘要

    写这篇主要是发现 javascript 中 json 和我理解中java 语言的map 存储是不同的。

    javascript 中 object

    本质是 array, 存储进去的数据是堆栈,有顺序的概念, 都是新建了一个对象

    const value = {a: 1, b:1};
    const value1 = {b:1, a:1};
    
    value === value1   // false
    
    Object.keys(value)  // [a, b]
    Object.keys(value1)  // [b, a]
    
    value1.a === value.a  // true
    
    

    可以看出来value, value1 的key顺序是不同的,遍历出来也是不同的。javascript 6大类型,boolean, number, string, null, undefined 都是值, object是引用,上面的value value1 都是不同的地址,所以比较结果是false, 但是 value.a value1.a 指向的是number, 是值,所以比较结果是 true

    java 中的 map

    本质是存储地址

    value = {a: 1, b:1};
    value1 = {b:1, a:1};
    
    value == value1   // true, 地址是相等的, 都是指向 { a:1, b:1 }这个变量
    value.isEqual(value1)  // false  
    
    

    遍历出来value , value1 的 key 顺序是一样的。

    结语

    一直以为javascript 是借鉴java的思想,就错误的以为是一样的,还是有不少不同的。

  • 相关阅读:
    HashMap按键排序和按值排序
    LeetCode 91. Decode Ways
    LeetCode 459. Repeated Substring Pattern
    JVM
    LeetCode 385. Mini Parse
    LeetCode 319. Bulb Switcher
    LeetCode 343. Integer Break
    LeetCode 397. Integer Replacement
    LeetCode 3. Longest Substring Without Repeating Characters
    linux-网络数据包抓取-tcpdump
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/8543641.html
Copyright © 2020-2023  润新知