在 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 } }; // 向 JSON 对象添加唯一 ID 的函数 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 对象的效率。