首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何优雅判断属性值为空

    假设我们现在需要取出 a.b.c,但是并不清楚它们是否都存在,那么代码会写成这样: if (a && a.b) { const c = a.b.c } 其实这样的代码在项目中出现的频率是很高的,如果需要取的值层级过深的话...undefined : a.b.c 虽然编译后的代码看着有点啰嗦,但是确实很优雅的解决了判空的问题。...不过可选链在某些场景下还是存在坑的,比如如下代码: const a = { b: { c: false } } 假如说我们希望在取值 a.b.c 中给 c 设置一个默认值 true /...c || true 但是在这个场景下就会出现 Bug,预期值是 false,结果答案为 true。 解决这个问题也很简单,再引入一个新语法双问号即可。...这个语法的作用和 || 是类似的,但是只有当取值为 null 或者 undefined 时才会使用默认值。 // false const c = a?.b?.c ??

    4K20

    Java:如何更优雅的处理空值?

    有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。 此篇文章,我总结了几种关于空值的处理手法,希望对读者有帮助。...如果调用者忽略了注释,有可能就对业务系统产生了风险,这个风险有可能导致一个亿! 除了以上这种”弱提示”的方式,还有一种方式是,返回值是有可能为空的。那要怎么办呢?...那如何约束入参呢?...Optioanl的正确使用 Optional如此强大,它表达了计算机最原始的特性(0 or 1),那它如何正确的被使用呢!...小结 可以这样总结Optional的使用: 当使用值为空的情况,并非源于错误时,可以使用Optional! Optional不要用于集合操作!

    5.1K61

    postgresql 如何处理空值NULL 与 替换的问题

    最近一直在研究关于POSTGRESQL 开发方面的一些技巧和问题,本期是关于在开发中的一些关于NULL 值处理的问题。...在业务开发中,经常会遇到输入的值为NULL 但是实际上我们需要代入默认值的问题,而通常的处理方法是,在字段加入默认值设置,让不输入的情况下,替换NULL值,同时还具备另一个字段类型转换的功能。...1 默认值取代NULL 2 处理程序可选字段的值为空的情况 3 数据转换和类型的转换 下面我们看看如何进行实际中的相关事例 事例1 程序中在需要两个字段进行计算后,得出结果进行展示,比如买一送一,或买一送二...这里采用了coalesce 函数,在 sell_discount 为NULL的情况下,则我们用1来替代这个值,保证最终计算的逻辑结果是正确的。...实际上,如果在设计表的时候,给这个字段的默认值为1 ,也可以解决这个问题,但是如果早期未做处理,上线后数据量较大,也可以用coalesce 来解决这个问题,并且使用这个函数是灵活的,后面NULL 可以替代的值也是你可以随意指定的

    2K40

    字符串、集合如何判断空值?看看成年人的正确操作

    在平时的开发中,基本上都会用到字符串判断空值和集合判断空值的处理,还记得在刚干开发的时候,写的代码在现在看起来是真的有点Hello World,那么这次分享两个非常常用的方法,字符串非空判断和集合非空判断...字符串非空判断 你有没见过下面的代码,要是没见过你就不配是一个程序员,我还写过呢!现在回过头来看感觉自己当年真的是太年轻了。...>commons-lang3 3.9 首先第一种,isNotEmpty 这个方法可以判断字符串是否为空。...第二种,isNotBlank 这个方法也是用来判断字符串是否为空。...集合空值判断 再来看一段当年的传奇之作 public static void main(String[] args) { List list = new ArrayList

    1.3K20

    「R」数据操作(五):dplyr 介绍与数据过滤

    这里我们使用dplyr包操作2013年纽约市的航班起飞数据集(2013)。 准备 这部分我们聚焦于如何使用dplyr包,除ggplot2的另一个tidyverse核心成员。...date代表日期 dplyr基础 这部分我们学习5个关键的dplyr函数,它可以让我们解决遇到的大部分数据操作问题: 根据值选择观察(记录),filter() 对行重新排序,arrange() 根据名字选择变量...使用filter()过滤行 filter()允许我们根据观测值来对数据集取子集。第一个参数是数据框的名字,第二和随后的参数是用于过滤数据框的表达式。...执行了过滤操作并返回了一个新的数据框。...我们可以用它重写前面的代码: nov_dec <- filter(flights, month %in% c(11, 12)) 缺失值 NA代表未知值或者称为缺失值,它是能“传染”的,几乎任何涉及未知值的操作都会是一个未知值

    2.6K11

    R入门?从Tidyverse学起!

    那么,tidyverse就提供了一个很好的学习思路(tidyverse first),让我们先忽略编程这道大关,其理念是一开始不谈向量、矩阵、数据框、因子、流程控制等概念,直接从数据的操纵入手,让初学者在最短时间内学会数据的处理与可视化应用...(画图,可视化数据) dplyr, for data manipulation. (操控数据,过滤、排序等) tidyr, for data tidying....dplyr包 dplyr基本包含了我们整理数据的所有功能,堪比瑞士军刀,这里介绍以下函数: filter: filters out rows according to some conditions (...利用管道符,先过滤(filter),然后只保留Petal.Width函数(select) ?...3. mutate 增加一列,列名为Sepal.Area,值为width和length相乘,然后不保留原来的Sepal.Length 和 Sepal.Width两列 ?

    2.6K30

    R语言入门(一)之数据处理

    air.hole <- c(10,12.5,12.5,12.5,……) #产生向量,将(10,12.5,12.5,12.5,……)中的值赋予到air.hole length(air.hole) ?...str(a1) #以简洁的方式显示对象的数据结构及内容 summary(a1) #可以提供最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计 ?...table(a1$chemical) table(a1$chemical, useNA = "ifany") #求因子出现的频数;table()函数默认忽略缺失值(NA),要在频数统计中将NA视为一个有效的类别...f = as.data.frame(a1) #对象类型转变为数据框 mode(f) #查看对象x的模式:空(NULL),数值(numeric),字符(character),逻辑(logical)...duplicated(a1$Species) #duplicated函数是一个可以用来解决向量或者数据框重复值的函数,它会返回一个TRUE或FALSE的向量,以标注该索引所对应的值是否是前面数据所重复的值

    10.2K40
    领券