摘要
写这篇主要是发现 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]
可以看出来value, value1 的key顺序是不同的,遍历出来也是不同的。
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的思想,就错误的以为是一样的,还是有不少不同的。