如何合并到对象并将空值替换为新值,如果新值为空,则保留旧值

Vishnu Shenoy

我每次选择一个值时都会有一个对象数组,将其推入数组时,我想合并具有相同键(即键“ code”)的两个对象,并删除空值

(4) [{…}, {…}, {…}, {…}]
0: {code: "abc", value: "", access: "A"}
1: {code: "abc", value: "ok", access: ""}
2: {code: "def", value: "xyz", access: ""}
3: {code: "def", value: "", access: "B"}

the output should be
(2) [{…},{…}]
0: { code: "abc", value: "ok", access: "A"}
1: {code: "def", value: "xyz", access: "B"}

我已经尝试了传播算子,但它不起作用。请帮帮我

泰特斯

您可以使用.reduce(..),这是一个示例:

const input = [
  {code: "abc", value: "", access: "A"},
  {code: "abc", value: "ok", access: ""},
  {code: "def", value: "xyz", access: ""},
  {code: "def", value: "", access: "B"}
];

const output = input.reduce((a, c) => {
  const found = a.find(({ code }) => c.code === code);
  if (found) {
    Object.entries(c).forEach(([key, value]) => {
      if (!found[key]) {
        found[key] = value;
      }
    });
  } else {
    a.push(c);
  }
  return a;
}, []);

console.log(output);

即使对于示例输入正确运行,在某些情况下也会失败,因为它将替换所有可能不是您想要的虚假值(布尔值false,数字0等)。

为避免这种!found[key]情况,if请使用适合您需要的任何检查替换语句中条件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将空值替换为JSON对象中的空值

来自分类Dev

如果值为空,则合并行

来自分类Dev

消除重复值并将其替换为空值oracle?

来自分类Dev

ng-change中的angularjs旧值和新值,也为空选择

来自分类Dev

如果新值为无,如何保留变量值

来自分类Dev

合并字典,保留旧键和新值

来自分类Dev

合并字典,保留旧键和新值

来自分类Dev

如何在FireDAC中为新记录而不是负数的AutoInc字段保留空白/空值?

来自分类Dev

如果值为空,则删除对象

来自分类Dev

如何在空对象中添加新的键和值?

来自分类Dev

在Tsql中,如果值不为空,如何替换值?

来自分类Dev

如果某些为空,如何插入值

来自分类Dev

如果值为空,则显示“-”?

来自分类Dev

如果为空则跳过值

来自分类Dev

如果值为空则显示

来自分类Dev

在Excel中合并两个列表,并将新值添加到旧值

来自分类Dev

如果日期为空,则联接熊猫表并保留NaN值

来自分类Dev

遍历pandas数据框并将新值插入空列

来自分类Dev

MDX:如何替换空值

来自分类Dev

如果值为空/空,则根据其长度用空格替换数据库中的值

来自分类Dev

附加python字典,如果值为空则不替换

来自分类Dev

如果默认值为空,Wordpress PHP将图片替换为网站标题

来自分类Dev

用旧数组中的新值替换旧值

来自分类Dev

Python列表-如何评估并将json字符串值中的空格/空/空格替换为某些默认值?

来自分类Dev

R回溯几天,如果存在旧值,则分配新值

来自分类Dev

如果为空,则将 sqlparameter 转换为 DBNULL 值

来自分类Dev

如何合并两个替换空值的数据框

来自分类Dev

日期时间对象值为空但值仍然抛出空

来自分类Dev

添加新实体时处理相关对象的空值的方法

Related 相关文章

热门标签

归档