在 JavaScript 中为 JSON 对象的每个条目添加唯一 ID


在这个问题陈述中,我们的任务是借助 Javascript 为 JSON 对象中的每个对象条目添加一个唯一 ID。为此,我们将使用循环和一个变量来存储 JSON 对象中每个对象的 ID。

理解问题陈述

问题陈述是在 Javascript 中编写一个函数,通过该函数可以为给定 JSON 对象中的每个项目添加一个唯一 ID。为了通过向每个对象添加新的 ID 来更新每个 JSON 对象,我们将使用基本的 Javascript 功能。例如,我们有 obj = {{empName: “A”, age: 25},{empName: “B”, age: 30}},所以在向每个条目添加唯一 ID 后,更新后的对象将如下所示 - obj = {{id: 0, empName: “A”, age: 25},{id: 1, empName: “B”, age: 30}}。

给定问题的逻辑

因此,我们将使用一种算法为输入 JSON 对象中的每个条目分配一个新的 ID。此方法将访问 JSON 对象作为参数,我们将使用 for 循环遍历对象中的每个键。因此,它将为对象中每个键的相关项目添加一个名为 id 的新属性,并将它的值设置为唯一的 ID 值。

分步过程

步骤 1 − 创建一个名为 jsonData 的对象,并使用一个条目来定义对象中的每个项目。在条目对象内定义 empName 和 age

步骤 2 − 使用 addUniqueId 函数为数据中的每个对象创建唯一 ID。

步骤 3 − 将名为 index 的变量初始化为零。

步骤 4 − 使用 for 循环遍历 JSON 对象。

步骤 5 − 通过使用点表示法或方括号表示法访问每个条目,为 JSON 对象中的每个条目分配 ID。

步骤 6 − 为每个条目分配 ID 后,返回具有在每个对象中更新的 ID 的新的 JSON 对象

算法代码

const jsonData = {
   "entry1": {
      "empName": "Janvi",
      "age": 30
   },
   "entry2": {
      "empName": "Rani",
      "age": 25
   },
   "entry3": {
      "empName": "Babita",
      "age": 40
   }
   };
 
   // Function to add unique ID to JSON object
   function addUniqueId(jsonData) {
      let index = 0;
      for (let key in jsonData) {
         jsonData[key].id = index++;
      }
      return jsonData;
   }
const resultObject = addUniqueId(jsonData);
console.log(resultObject);

复杂度

算法所需的时间为 O(n),其中 n 是 JSON 对象中条目的数量。因为该函数需要一次迭代对象中的每个条目才能添加唯一 ID。算法的空间复杂度也是 O(n),因为该函数就地修改实际的 JSON 对象,并且不会创建新的 JSON 数据。

结论

以上代码提供了一个简单的解决方案,用于在 Javascript 中为每个条目 JSON 对象添加唯一 ID。因此,它具有 O(n) 的时间和空间复杂度,这使得它对于大型 JSON 对象效率较低。

更新于:2023年5月18日

4K+ 次浏览

开启您的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.