JavaScript for 循环对象替换未定义并为不存在的键赋值

标签 javascript arrays json object

我有一个名为data的对象,其中一些元素未定义,或者只是丢失。

如何执行 for 循环将我的个人值分配给这些字段?

data.forEach(function(obj) {
  for(var i in obj) { 
    if(obj[i] === undefined) {
      obj[i] = '';
    }
  }
});

这目前仅替换 未定义,如果任何字段不存在,我如何更新以传递空值?

最佳答案

您可以使用所有键创建一个数组:

var keys = ['foo', 'bar', 'buzz'];

然后迭代它并检查对象中是否存在给定的属性

var obj = {
    foo: 'a'
}

for (var i = 0, n = keys.length; i < n; i++) {
    var key = keys[i];

    if (!obj[key]) {
        obj[key] = '';
    }      
}

干杯

关于JavaScript for 循环对象替换未定义并为不存在的键赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42938211/

相关文章:

C# ASPX ASP.NET - 添加和删除表行

c - 反转字符串数组

arrays - 如何根据 Ruby 中的索引从数组中获取多个值?

android - 应为 BEGIN_OBJECT 但在第 1 行第 2 列路径处为 BEGIN_ARRAY

python - 什么更快 - 将 pickle 字典对象加载或加载 JSON 文件 - 到字典?

javascript - 如何在 HighCharts 中为堆栈柱形图格式化我的 json 数据

javascript - (hash) 在 javascript 中作为函数参数有什么意义吗?

javascript - 使用 JavaScript 正则表达式获取 MVC 样式路由数据(URL 最后一个词)

javascript - 如何在 Jasmine 中对以下功能进行单元测试?

c - C 中的数组旋转