卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 工具箱
  • 关于
  • 0

将数组中空值字段赋默认值!

坚果大叔
2023-04-25 14:49:11
export const replaceEmptyData = (obj, defaultValue = '-') =>
  Array.isArray(obj)
    ? obj.map(item => replaceEmptyData(item, defaultValue))
    : Object.fromEntries(
        Object.entries(obj).map(([key, value]) => [key, !value ? defaultValue : value])
      );

在上述代码中,我们首先判断传入的对象是否为数组,如果是数组则对其进行map()操作,否则将其转换成键值对数组并调用Object.fromEntries()方法生成一个新的对象。

如果传入的对象为数组,则先使用map()方法对其进行遍历,然后对每个元素调用replaceEmptyWithDefault()函数进行处理,并将处理结果作为新数组返回。如果传入的对象不是数组,则使用Object.entries()方法将对象转换成键值对数组,然后使用map()方法对每个键值对进行遍历。对于每个键值对,我们使用解构赋值将其拆分成键 key 和值 value,然后使用空值合并运算符 ?? 将空值替换为默认值 defaultValue。最终,我们使用Object.fromEntries()方法将所有键值对结合成一个新的对象并返回。

使用这个函数,我们可以很方便地处理数组和对象中的空值。例如:

import { replaceEmptyWithDefault } from './path/to/your/module';

const arr = [
  { name: 'Alice', age: 18 },
  { name: 'Bob', age: null },
  { name: 'Charlie', age: undefined }
];

const obj = {
  name: 'Alice',
  age: null,
  gender: ''
};

const result1 = replaceEmptyWithDefault(arr, '-');
const result2 = replaceEmptyWithDefault(obj, '-');

console.log(result1);
// Output:
// [
//   { name: 'Alice', age: 18 },
//   { name: 'Bob', age: '-' },
//   { name: 'Charlie', age: '-' }
// ]

console.log(result2);
// Output:
// { name: 'Alice', age: '-', gender: '-' }


微信扫描下方的二维码阅读本文

0
周末出游,惊喜相伴——水牛的美丽邂逅。
上一篇
5.1游记
下一篇

坚果大叔

255
文章
66
评论
207
喜欢

近期文章

  • instanceof和typeof的区别
  • 嗖嗖嗖
  • 镜头下的一点记录!
  • React实现打字机效果~
  • 一晃又周三了

猜你喜欢

instanceof和typeof的区别

2023-09-26 17:20:33
56 0 0

React实现打字机效果~

2023-08-22 17:31:49
300 0 1

Mac更换node版本切换工具n模块的镜像源

2023-07-13 13:21:45
279 2 2

Md5引发的血案

2023-07-03 16:45:00
412 0 1

博主

一枚佛系前端开发,会一丢丢摄影,喜欢折腾,爱好美食。分享点前端技巧、笔记以及各种有趣的APP和资源教程♥♥

友链

Lieme

公众号

坚果大叔 执行上下文 卖坚果的怪叔叔
Copyright © 2017-2023 卖坚果的怪叔叔. Designed by nicetheme.

萌ICP备20230818号 苏ICP备18048410号-2
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 工具箱
  • 关于

搜索

  • 微信机器人
  • CSS
  • js
  • git

坚果大叔

255
文章
66
评论
207
喜欢