比较JSON树项与对象数组
创始人
2024-12-13 19:00:34
0

我们可以使用递归函数来比较两个JSON树是否相等。

示例代码如下:

function compareJsonTrees(tree1, tree2) {
  if (typeof (tree1) !== typeof (tree2)) {
    return false;
  }
  if (typeof (tree1) === 'object') {
    if (Array.isArray(tree1) !== Array.isArray(tree2)) {
      return false;
    }
    if (Array.isArray(tree1)) {
      if (tree1.length !== tree2.length) {
        return false;
      }
      for (let i = 0; i < tree1.length; i++) {
        if (!compareJsonTrees(tree1[i], tree2[i])) {
          return false;
        }
      }
    } else {
      const keys1 = Object.keys(tree1).sort();
      const keys2 = Object.keys(tree2).sort();
      if (keys1.length !== keys2.length) {
        return false;
      }
      for (let i = 0; i < keys1.length; i++) {
        const key = keys1[i];
        if (key !== keys2[i]) {
          return false;
        }
        if (!compareJsonTrees(tree1[key], tree2[key])) {
          return false;
        }
      }
    }
  } else {
    if (tree1 !== tree2) {
      return false;
    }
  }
  return true;
}

然后,我们可以使用上述方法来比较两个包含对象的数组是否相等:

const arr1 = [{name: 'Jon'}, {name: 'Doe'}];
const arr2 = [{name: 'Jon'}, {name: 'Doe'}];

if (compareJsonTrees(arr1, arr2)) {
  console.log('They are equal!');
} else {
  console.log('They are not equal!');
}

在上述示例中,由于arr1和arr2包含相同的对象,因此两个数组被视为相等,将输出'They are equal!”。

相关内容

热门资讯

实锤2分钟!aapoker透明... 实锤2分钟!aapoker透明挂wpk被系统针对(的确真的有挂)-微博客户端1、该软件可以轻松地帮助...
针对7分钟!wpk ai辅助有... 针对7分钟!wpk ai辅助有用微扑克有脚本(总是真的有挂)-小红书1、完成微扑克有脚本透视辅助安装...
挂六分钟!aa扑克辅助wepo... 挂六分钟!aa扑克辅助wepower德州辅助器(本来真的有挂)-小红书1、构建自己的wepower德...
开挂1分钟!gg扑克平台发牌机... 开挂1分钟!gg扑克平台发牌机制德扑胜率计算的软件(总是真的有挂)-百度知乎;1.德扑胜率计算的软件...
漏洞8分钟!菠萝德州app挂哪... 漏洞8分钟!菠萝德州app挂哪里买wpk辅助软件(果真真的有挂)-知乎菠萝德州app挂哪里买辅助器中...
苹果版三分钟!pokerwor... 苹果版三分钟!pokerworld软件德州辅助(果然真的有挂)-微博客户端1、进入游戏-大厅左侧-新...
打法五分钟!鱼扑克app ai... 打法五分钟!鱼扑克app aiwepoke辅助软件下载链接(果然真的有挂)-微博客户端;1、wepo...
软件三分钟!德州之星app辅助... 软件三分钟!德州之星app辅助器可以用微扑克有规律(本来真的有挂)-知乎1、许多玩家不知道德州之星a...
模拟器8分钟!红龙扑克真假微扑... 模拟器8分钟!红龙扑克真假微扑克私人局后台操控(的确真的有挂)-百度知乎1、起透看视 微扑克私人局后...
苹果版2分钟!线上德州有后台操... 苹果版2分钟!线上德州有后台操控德州最新辅助器(其实真的有挂)-今日头条亲,关键说明,线上德州有后台...