vue.js javascript js判断是值否为空

检查一个对象(Object)是否为空,即不包含任何元素。Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。

1、如字典,字典本身就是Object,定义为{},无任何key时为空

2、如数组,定义为\[\],无任何元素时认为为空

3、如String,为''或为null或为undefined时认为空

这里想到了之前在jquery中判断对象是否为空的方法:

javascript 复制代码
function isEmptyObject(obj) {
  for (var key in obj) {
    return false;
  }
  return true;
}

它充分利用了Object的迭代器来实现的。但是无法对字符串为空进行判空调用!而我的需求为,类型不定!这是重点,即我必须有一个固定的方法,无论传入的类型是什么,只要满足以上3点我就认为是空的!为什么会这样要求呢?这个与产品功能有关,我的页面内容是不定的,类型不定、数据不定的动态表单!

针对这种情况,我不可能一一去判断类型判空处理,所以,进行了新的探索尝试,贴出我的实现:

javascript 复制代码
export function isnull(val) {
    if (!val || val === undefined) {
        return true
    } else if (JSON.stringify(val) === '{}' || JSON.stringify(val) === '[]') {
        return true
    }
    return false
}

为了使用方便,给全局的VUE绑定上这个方法:

javascript 复制代码
import {isnull} from '@/utils/null';
Vue.prototype.isnull = isnull

在某个页面中使用:

javascript 复制代码
if (this.isnull(p.component.config.defaultValue))
{
//数据为空的逻辑,如提示
}

这样无论我传入的数据类型是什么,完全满足我的页面需要!

相关推荐
林希_Rachel_傻希希3 分钟前
web性能之相关路径——AI总结
前端·javascript·面试
不好听6136 分钟前
从零搭建一个 RAG 语义搜索系统 —— DEMO的初始阶段
javascript·面试·llm
何时梦醒9 分钟前
上下文工程(Context Engineering):AI 应用开发的新范式 —— 从理论到实战全解析
javascript
竹林81811 分钟前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换在 DeFi 前端中的正确姿势
前端·javascript
用户21366100357213 分钟前
Vue项目搜索功能与面包屑导航
前端·javascript
星栈17 分钟前
LiveView 的实时通信,爽是爽,但 PubSub 和广播也最容易把自己绕晕
前端·前端框架·elixir
用户29307509766918 分钟前
告别关键词匹配,拥抱向量语义 —— RAG 搜索从零到一
前端
独孤留白27 分钟前
从C到Rust:告别 C 的"指针 + 长度"手动模式
前端·rust
阿黎梨梨41 分钟前
揭秘大语言模型的底层逻辑:从文本分词到高维向量的计算之旅
javascript·人工智能
掘金安东尼1 小时前
中小厂前端候选人简历面试拆解:从 HR 面、技术面到主管面的双赢提问法
前端·面试