Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过检查键筛选对象_Javascript_Node.js_Lodash - Fatal编程技术网

Javascript 如何通过检查键筛选对象

Javascript 如何通过检查键筛选对象,javascript,node.js,lodash,Javascript,Node.js,Lodash,我有数组对象,如果键不匹配,我想删除一些内部对象 输入: "configuration" : { "11111-2222-3333-444--5555" : { "home1" : { "tel" : "125", "address" : true, } }, "2222-3333-44444-5555--66666" : {

我有数组对象,如果键不匹配,我想删除一些内部对象

输入:

"configuration" : {
    "11111-2222-3333-444--5555" : {
        "home1" : 
             {
               "tel" : "125", 
               "address" : true, 
             }
    }, 
    "2222-3333-44444-5555--66666" : {
        "home2" : 
             {
               "tel" : "125", 
               "address" : true, 
             }
    }
}
我有一个匹配字符串
11111-2222-3333-444--5555

预期结果如下:

"configuration" : {
    "11111-2222-3333-444--5555" : {
        "home1" : 
             {
               "tel" : "125", 
               "address" : true
             }
         }

   }

您可以循环浏览键并删除不需要的键:

let o = {
  configuration: { /* etc. */ }
}

for(let key in o.configuration) {
  if(key !== '11111-2222-3333-444--5555') {
    delete o[key]
  }
}
但是,如果要删除除一个键以外的所有键,则这是不必要的。要简化它,您可以执行以下操作:

let newObject = {
  configuration: {
    '11111-2222-3333-444--5555': o.configuration['11111-2222-3333-444--5555']
  }
}
使用
\uuu.pick()
获取所需的密钥:

var data={“配置”:{“11111-2222-3333-444-5555”:{“home1”:{“tel”:“125”,“address”:true}},“2222-3333-44444-5555-66666”:{“home2”:{“tel”:“125”,“address”:true}}};
var searchKey='11111-2222-3333-444--5555';
var结果={
配置:u.pick(data.configuration,searchKey)
};
控制台日志(结果)

它不是一个对象数组。它只是一个有多个键的对象。可能重复-那么对于一个特定键?你可以做
{'configuration':{'11111-2222-3333-444-5555':原始['configuration']['11111-2222-3333-444-5555']}
@thomas:如果你觉得这个答案有用,请点击灰色按钮接受它✓.