在 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 对象效率较低。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP