准备数据

 data(){
        return {
            obj:{
                '001':'a',
                '002':'b',
                '003':'c',
                '004':'d'
            }
        }
    }, 

1、遍历对象获取所有的key和value

for (let k in this.obj){
    console.log(k)
    console.log(this.obj[k])
}

2、根据key获取对应的value

let _this = this
   function findValue(key) {
       for (let k in _this.obj){
            if (k===key){
                return _this.obj[k]
           }
      }
   }
console.log(findValue('001'))
// 获取对象的key
 let obj = {
    a:{
      b:{
        c:{f:"aa"}
      },
      d:{
        e:{g:"bb"},
        h:{i:"cc"}
      },
      j:{
        k:"dd"
      }
    }
  };

let a = [];
function getKey(obj,isKey) {
  if (typeof obj !== 'object' || obj == null) {
        return
      }

  for (let key in obj){
   typeof obj[key] === 'object' ? getKey(obj[key]) : '';
   a.push(key)
  }
// f c b g e i h d k j a

3、根据value获取对应的key

function findkey(obj,value,fn = (a, b) => a === b){
        return Object.keys(obj).find(k => fn(obj[k],value))
    }
    //  let fn = (a,b)=> {
    //      return a=== b
    //  }
    // console.log(fn(1,2));
    console.log(findkey(this.obj, 'a'));  

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐