精华内容
下载资源
问答
  • javascript 判断map为空
    2022-03-25 08:56:00
    let map = {};
    Object.keys(map).length === 0
    
    更多相关内容
  • js判断map是否为空

    2021-11-05 22:12:46
    //非空判断 if (Object.keys(data).length === 0) return; var act_before_tip = "以下订单对应的处方单id已开过票,请确认当前波次与已开订单相同。若不同,请重新导入。" + "<br>"; for (var key in ...
    	//激活前的提示
        var act_before_tip = function (data) {
            //非空判断
            if (Object.keys(data).length === 0) return;
            var act_before_tip = "以下订单对应的处方单id已开过票,请确认当前波次与已开订单相同。若不同,请重新导入。" + "<br>";
            for (var key in data) {
                act_before_tip += "<br>" + "总单id:【" + key + "】,对应已开票的订单系统细单【" + data[key] + "】" + "<br>";
            }
            if (data != null && data != "") {
                Ext.Msg.show({
                    title: '温馨提示',
                    msg: act_before_tip,
                    buttons: Ext.Msg.OK,
                    icon: Ext.Msg.INFO
                });
            }
        };
    

    补记:后台传递过来的是map集合,dataType返回值类型应该是json类型,此时,可以直接使用:JSON.parse(data);这样得到的结果是object类型,然后我们直接判断它的长度即可。

    展开全文
  • 判断是否为空对象在实际开发中很常见,今天就让我们来整理一下有哪些方法吧。 1、空对象对应的字符串 "{}" vardata={}; varb=JSON.stringify(data)=="{}"; console.log(b);//true 2、for in varobj={}; var...

    判断是否为空对象在实际开发中很常见,今天就让我们来整理一下有哪些方法吧。

    1、空对象对应的字符串为 "{}"

    var data = {};
    var b = JSON.stringify(data) == "{}";
    console.log(b); // true
    

    2、for in

    var obj = {};
    var b = function () {
      for (var key in obj) {
        return false;
      }
      return true;
    };
    console.log(b()); //true
    

    3、jquery 的 isEmptyObject()方法

    这个方法是对第二个方法的封装。

    var data = {};
    var b = $.isEmptyObject(data);
    console.log(b); //true
    

    4、Object.getOwnPropertyNames()

    Object 对象的 getOwnPropertyNames 方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的 length 来判断此对象是否为空。

    var data = {};
    var arr = Object.getOwnPropertyNames(data);
    console.log(arr.length == 0); // true
    

    5、ES6 的 Object.keys()

    此方法也是返回对象中属性名组成的数组。

    var data = {};
    var arr = Object.keys(data);
    console.log(arr.length == 0); // true
    

    JSON.stringify()扩展

    JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
    语法:

    JSON.stringify(value[, replacer[, space]])
    

    参数说明:

    • value:必需,要转换的 JavaScript 值(通常为对象或数组)。

    • replacer: 可选。用于转换结果的函数或数组。 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。 如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。

    • space:可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。

    • 返回值:返回包含 JSON 文本的字符串。

    JSON.stringify()特性挺多的,具体如下:

    1、第一大特性

    对于 undefined、任意的函数以及 symbol 三个特殊的值分别作为对象属性的值、数组元素、单独的值时 JSON.stringify() 将返回不同的结果。 来看这道题:

    const data = {
      a: "aaa",
      b: undefined,
      c: Symbol("dd"),
      fn: function () {
        return true;
      },
    };
    JSON.stringify(data); // 输出:?
    
    // "{"a":"aaa"}"
    

    这是因为 undefined、任意的函数以及 symbol 作为对象属性值时 JSON.stringify() 将跳过(忽略)对它们进行序列化。

    假设 undefined、任意的函数以及 symbol 值作为数组元素会是怎样呢?

    JSON.stringify([
      "aaa",
      undefined,
      function aa() {
        return true;
      },
      Symbol("dd"),
    ]); // 输出:?
    
    // "["aaa",null,null,null]"
    

    这是因为 undefined、任意的函数以及 symbol 作为数组元素值时,JSON.stringify() 会将它们序列化为 null。

    还有,undefined、任意的函数以及 symbol 被 JSON.stringify() 作为单独的值进行序列化时都会返回 undefined。

    JSON.stringify(function a() {
      console.log("a");
    });
    // undefined
    JSON.stringify(undefined);
    // undefined
    JSON.stringify(Symbol("dd"));
    // undefined
    

    小结

    • undefined、任意的函数以及 symbol 作为对象属性值时 JSON.stringify() 对跳过(忽略)它们进行序列化。

    • undefined、任意的函数以及 symbol 作为数组元素值时,JSON.stringify() 将会将它们序列化为 null。

    • undefined、任意的函数以及 symbol 被 JSON.stringify() 作为单独的值进行序列化时,都会返回 undefined。

    2、第二大特性

    非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。因为 JSON.stringify() 序列化时会忽略一些特殊的值,所以不能保证序列化后的字符串还是以特定的顺序出现(数组除外)。

    const data = {
      a: "aaa",
      b: undefined,
      c: Symbol("dd"),
      fn: function () {
        return true;
      },
      d: "ddd",
    };
    JSON.stringify(data); // 输出:?
    // "{"a":"aaa","d":"ddd"}"
    
    JSON.stringify([
      "aaa",
      undefined,
      function aa() {
        return true;
      },
      Symbol("dd"),
      "eee",
    ]); // 输出:?
    
    // "["aaa",null,null,null,"eee"]"
    

    3、第三大特性

    转换值如果有 toJSON() 函数,该函数返回什么值,序列化结果就是什么值,并且忽略其他属性的值。

    JSON.stringify({
        say: "hello JSON.stringify",
        toJSON: function() {
          return "today i learn";
        }
      })
    // "today i learn"
    

    4、第四大特性

    JSON.stringify() 将会正常序列化 Date 的值。

    JSON.stringify({ now: new Date() });
    // "{"now":"2019-12-08T07:42:11.973Z"}"
    

    5、第五大特性

    NaN 和 Infinity 格式的数值及 null 都会被当做 null。

    JSON.stringify(NaN)
    // "null"
    JSON.stringify(null)
    // "null"
    JSON.stringify(Infinity)
    // "null"
    

    6、第六大特性

    布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。

    JSON.stringify([new Number(1), new String("false"), new Boolean(false)]);
    // "[1,"false",false]"
    

    7、第七大特性

    其他类型的对象,包括 Map/Set/WeakMap/WeakSet,仅会序列化可枚举的属性。

    // 不可枚举的属性默认会被忽略:
    JSON.stringify( 
        Object.create(
            null, 
            { 
                x: { value: 'json', enumerable: false }, 
                y: { value: 'stringify', enumerable: true } 
            }
        )
    );
    // "{"y":"stringify"}"
    

    8、第八大特性

    深拷贝最粗暴的方式是JSON.parse(JSON.stringify()),这个方式实现深拷贝会因为序列化的诸多特性从而导致诸多的坑点:比如现在我们要说的循环引用问题。

    // 对包含循环引用的对象(对象之间相互引用,形成无限循环)执行此方法,会抛出错误。 
    const obj = {
      name: "loopObj"
    };
    const loopObj = {
      obj
    };
    // 对象之间形成循环引用,形成闭环
    obj.loopObj = loopObj;
    
    // 封装一个深拷贝的函数
    function deepClone(obj) {
      return JSON.parse(JSON.stringify(obj));
    }
    // 执行深拷贝,抛出错误
    deepClone(obj)
    /**
     VM44:9 Uncaught TypeError: Converting circular structure to JSON
        --> starting at object with constructor 'Object'
        |     property 'loopObj' -> object with constructor 'Object'
        --- property 'obj' closes the circle
        at JSON.stringify (<anonymous>)
        at deepClone (<anonymous>:9:26)
        at <anonymous>:11:13
     */
    

     欢迎关注公众号【前端技术驿站】,关注获取视频资源,共同学习!

     

     

    展开全文
  • JS判断对象是否为空

    2018-08-30 16:57:34
    下面就是有关判断为空的方法 代码如下 if ( str1 !== null || str1 !== undefined || str1 !== "") { var str2 = str1; } 上面的意思是说如果str1不是一个空对象,或者未定义,或者不等于字符串,...

    下面就是有关判断为空的方法
    代码如下


    if ( str1 !== null || str1  !== undefined || str1 !== "") {
    var str2 = str1;
    }


    上面的意思是说如果str1不是一个空对象,或者未定义,或者不等于空字符串,那么声明一个str2变量,将str1赋给str2。也就是说如果variable1存在那么就将variable1的值赋给variable2,若不存在则为空字符串。如下面的简写代码。

    展开全文
  • js小白操作:js节流、判断空值、判断数组最大最小值、判断map为空的情况、字符串转intJs基础操作一、判断空值 undefined 和 null二、判断map为空三、取数组最大最小值二、使用步骤1.引入库2.读入数据总结 Js基础...
  • Object.keys(xxx).length==0 js判断对象是否为空对象的几种方法 1.将json对象转化json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 2...
  • 怎么判断map为空

    2022-03-24 15:04:08
    示例代码: public static void main(String[] args) { Map<String, String>... System.out.println("map为空:" + map.isEmpty()); //加入元素 map.put("1", "1"); System.out.println("map为空:.
  • 主要介绍了JS判断两个对象内容是否相等的方法,结合具体实例形式分析了javascript针对字符串、数组及对象的相关判断技巧,需要的朋友可以参考下
  • 实例如下: var aaa = { "0":"a", "1":"b", "2":"c", ...以上这篇js判断数组key是否存在(不用循环)的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • Java判断对象是否(包括null ,"")的方法本文实例为大家分享了Java判断对象是否的具体代码,供大家参考,.../*** 判断对象是否** @author Rex**/public class EmptyUtil{/*** 判断对象为空** @param obj* ...
  • js 判断一个 object 对象是否为空

    千次阅读 2018-12-05 14:35:50
    js 判断一个 object 对象是否为空 转载原文 判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in... 遍历属性,真则“非空数组”;否则数组” for (var i in obj) { // ...
  • js通过JSON.stringify()判断一个对象是否为空 function judgeObj (obj) { return JSON.stringify(obj) !== '{}' } 传入空对象 function judgeObj (obj) { return JSON.stringify(obj) !== '{}' } let obj = {} ...
  • Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性 判断自身属性是否存在 var o = new Object(); o.prop = 'exists'; function changeO() { o.newprop = o.prop; ...
  • JS/React 判断对象是否为空对象

    千次阅读 2016-01-04 19:33:00
    JS一般判断对象是否为空,我们可以采用: if(!x)的方式直接判断,但是如果是一个空对象,比如的JSON对象,是这样的:{},简单的判断是不成功的,因为它已经占用着内存了,如果是JQuery的话,直接使用isEmptyObject()...
  • es6新增加了两个数据结构 Set,和Map https://blog.csdn.net/yunchong_zhao/article/details/106173065 之前我写过相关的博客 介绍 过 Set和 Map 其实吧 能用Set还是推荐使用Set吧 大不了 如果非得在ie上走的话 就...
  • EL表达式判断Map是否为空和map的取值

    千次阅读 2014-11-27 14:36:30
    判断Map是否为空 1.在JSP页面中引入sun的核心标签库  @ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> 2.在JSP页面中引入sun的函数标签库  @ taglib uri=...
  • js判断对象数组中是否存在某个对象

    千次阅读 2019-11-24 23:02:58
    下载列队一个数组,任务对象包含开始时间、结束时间和设备id3个属性,属性排序是固定的,那么只需对比数组中的对象与即将添加的对象是否相等即可 方法代码 function isHasObj(arr, val){ var flag = false; ...
  • 主要介绍了JavaScript判断数组是否包含指定元素的方法,涉及javascript中contains方法的使用技巧,需要的朋友可以参考下
  • 判断对象下所有键值对key-value中value值是否为空? let obj_v = {a:1,b:2,c:""}; if(isObjEmpty(obj_v)) { console.log("该对象value值全部为空!"); } // 封装 function isObjEmpty(obj) { let flag = true; ...
  • Object.keys(scope.data.function_map).length等于0则对象为空
  • js函数中判断map是否为空 if (JSON.stringify(map) != JSON.stringify({})) Java中判断map是否为空 1、map.isEmpty 2、map == null 是指没有引用的对象。  map.size() == 0 指map中没有元素。是一个的集合。  要...
  • 判断map中的value是否为空

    万次阅读 2016-08-24 16:49:11
    Iterator>>> itera = map.entrySet().iterator();    while(itera.hasNext()){  Map.Entry>> entry = (Map.Entry>>)itera.next();    
  • 一、测试数据 var specList = [  {specDesc:'1233'}, ...Fun ONE: 使用map()遍历specList并生成目标属性所构成的新数组mapArr,再利用set()传入数组并输出去重复后的数组(setArr)的特性,判断其size与a
  • 使用 keys 方法获取该对象的属性和方法: function Pasta(grain, width, shape) { this.grain = grain; this.width = width; this.shape = shape; this.toString = function () { return (this.grain + ", " ...
  • JSMap和普通对象

    2021-07-25 21:05:15
    一个Map对象在迭代时会根据对象中元素的插入顺序来进行 — 一个 for...of 循环在每次迭代后会返回一个形式[key,value]的数组。 Map.prototype.size – 返回Map对象的键/值对的数量。 Map.prototype.clear() ...
  • JavaScript Map对象

    2021-02-01 06:55:21
    JavaScript Map对象MapMap是一组键值对的结构,用于解决以往不能用对象做键的问题具有极快的查找速度函数、对象、基本类型都可以作为键或值其实Map和对象非常相似,但是对象的键只能是String类型或Symbol类型,Map...
  • js后台返回对象中,判断是否存在该key, 和java 中判断map是否还有该key 差不多意思: data: 是后台的返回对象,如 在ajax success 中返回的对象。 data.hasOwnProperty("key") ---> true or false
  • /* * MAP对象,实现MAP功能 ... * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,014
精华内容 35,205
关键字:

js判断map是否为空对象

友情链接: miniLFS.rar