Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用嵌套数组测试两个对象的相等性_Javascript_Arrays_Sorting_Javascript Objects - Fatal编程技术网

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

在javascript中使用嵌套数组测试两个对象的相等性,javascript,arrays,sorting,javascript-objects,Javascript,Arrays,Sorting,Javascript Objects,我尝试比较两个对象,看看它们的内容是否相同。我正在编写的函数应该使这两个对象相等,但是,我正在努力解决如何对它们进行排序,以便测试相等的内容(这是无序的)。我该如何解决这个问题 const obj1 = { name: 'Sam', age: 27, description: [{ eyes: 'blue', hair: 'brown' }] } const obj2 = { age: 27, name: 'Sam', description: [

我尝试比较两个对象,看看它们的内容是否相同。我正在编写的函数应该使这两个对象相等,但是,我正在努力解决如何对它们进行排序,以便测试相等的内容(这是无序的)。我该如何解决这个问题

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

const obj2 = {
  age: 27,
  name: 'Sam',
  description: [{
    hair: 'brown',
    eyes: 'blue'
  }]
}
可以使用Lodash在对象之间执行深度比较:

const obj1={
姓名:“山姆”,
年龄:27岁,
说明:[{
眼睛:“蓝色”,
头发:“棕色”
}]
} 
常数obj2={
年龄:27岁,
姓名:“山姆”,
说明:[{
头发:“棕色”,
眼睛:“蓝色”
}]
}
console.log(u.isEqual(obj1,obj2))

这些是对象,不是数组。因此,顺序,并不重要。您需要循环每个键以确定它们是否相等。多次询问“我正在编写的函数应该使这两个对象相等为真”您可以包括您在问题中所写的内容吗?返回预期结果的问题是什么?答案不应依赖于OP中未提及或标记的库。