我有一个 json 数组:
0: {Id: "1", name: "Adam", Address: "123", userId: "i98"}
1: {Id: "2", name: "John", Address: "456"}
现在在上面的数组中,第二个没有可用的 userId 键。
我如何遍历上述数组并检查是否没有可用的 userId 键然后添加值为 0 的键。例如添加 userId:“0”
我试过的是:
let jsonData = JSON.parse(JSON.stringify(userData));
for (const obj of jsonData) {
var hasId = false;
let objId = obj.find((o, i) => {
if (o.userId === "userId") {
hasId = true;
}
});
if (!hasId) {
obj.push();
}
}
但这给了我错误:
obj.find is not a function
解决我的问题并将键值推送到数组的任何输入。
最佳答案
在您的代码中,obj
是一个对象,对象上没有find
方法。如果你想检查一个对象是否有一个数组,你可以 if( obj.userId )
您可以使用forEach
遍历数组。
let jsonData = [{Id: "1", name: "Adam", Address: "123", userId: "i98"},{Id: "2", name: "John", Address: "456"}];
jsonData.forEach(o => {
o.userId = o.userId || 0; //Assign 0 if userId is undefined.
})
console.log(jsonData);
关于Javascript:如果没有找到键,则在 json 数组中查找并推送到数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51561652/