美文网首页
object.keys()得对象本身所有属性名

object.keys()得对象本身所有属性名

作者: glassUp | 来源:发表于2022-04-19 22:49 被阅读0次

    对于object.keys(),我在文档中看到这么一段解释:Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。

    总结下来就这么一句话:object.keys(obj) 得到对象本身所有属性名的数组
    下面这段代码我是从官网上扒下来的

    // simple array
    var arr = ['a', 'b', 'c'];
    console.log(Object.keys(arr)); // console: ['0', '1', '2']
    
    // array like object
    var obj = { 0: 'a', 1: 'b', 2: 'c' };
    console.log(Object.keys(obj)); // console: ['0', '1', '2']
    
    // array like object with random key ordering
    var anObj = { 100: 'a', 2: 'b', 7: 'c' };
    console.log(Object.keys(anObj)); // console: ['2', '7', '100']
    
    // getFoo is a property which isn't enumerable
    var myObj = Object.create({}, {
      getFoo: {
        value: function () { return this.foo; }
      }
    });
    myObj.foo = 1;
    console.log(Object.keys(myObj)); // console: ['foo']
    

    至于我为啥写这篇博客是因为看到项目中的这段代码

    //获得searchParams身上的属性并遍历循环,如果属性值为空,就删除这个属性
    Object.keys(searchParams).forEach(key=>{
          if(searchParams[key]===''){
            delete searchParams[key]
          }
        }
    //下面这段代码只是辅佐上面代码的理解
    searchParams:{
              category1Id:'',
              category2Id:'',
              category3Id:'',
              categoryName:'',
              keyword:'',
              trademark:'',
              props:[],
              order:'2:desc',
              pageNo:1,
              pageSize:5
            }
    

    相关文章

      网友评论

          本文标题:object.keys()得对象本身所有属性名

          本文链接:https://www.haomeiwen.com/subject/oaxmertx.html