在javascript中使用嵌套数组测试两个对象中的相等性

时间:2017-07-23 23:08:39

标签: javascript arrays sorting javascript-objects

我想要比较两个对象,看看它们的内容是否相同。我正在编写的函数应该让这两个对象相同,但是,我正在努力解决这些问题,因此我可以测试相同的内容(它是乱序的)。我该如何解决这个问题?

const obj1 = {
  name: 'Sam',
  age: 27,
  description: [{
    eyes: 'blue',
    hair: 'brown'
  }]
} 

const obj2 = {
  age: 27,
  name: 'Sam',
  description: [{
    hair: 'brown',
    eyes: 'blue'
  }]
}

1 个答案:

答案 0 :(得分:1)

您可以使用Lodash中的isEqual来执行对象之间的深度比较:



const obj1 = {
  name: 'Sam',
  age: 27,
  description: [{
    eyes: 'blue',
    hair: 'brown'
  }]
} 

const obj2 = {
  age: 27,
  name: 'Sam',
  description: [{
    hair: 'brown',
    eyes: 'blue'
  }]
}

console.log(_.isEqual(obj1, obj2))

<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>
&#13;
&#13;
&#13;