Object比較
Shopifyのbilling_addressとshipping_addressが一致するかどうかを比較したい object同士はそのまま==で比較してもfalseなので一手間かける必要がある
code:js
/* オブジェクトをソート済み配列に変換する */
const objToSortedArray = obj => Object.entries(obj).sort()
/* ソート済み配列を文字列に変換して比較する */
const isEqualOneDimentionalArray = (obj1, obj2) =>
JSON.stringify(objToSortedArray(obj1)) === JSON.stringify(objToSortedArray(obj2))
/* 再帰処理を行い、ネストされたオブジェクトまで比較する */
export const isEqual = (obj1, obj2) => isEqualOneDimentionalArray(obj1, obj2)
&& objToSortedArray(obj1).map((key, val) => typeof val === "object" ? isEqual(val, obj2key) : true) スマート!