Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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 基于键在对象数组中搜索值并返回同级';s值_Javascript_Arrays_Object - Fatal编程技术网

Javascript 基于键在对象数组中搜索值并返回同级';s值

Javascript 基于键在对象数组中搜索值并返回同级';s值,javascript,arrays,object,Javascript,Arrays,Object,我有一个我正在搜索的键值。对于数组中的每个对象,每个对象都有一个键key。我希望将我正在搜索的术语与键的值匹配,并返回键为name的同级项的值 下面是一个示例对象: { "test1": { "functions": { "function1": { "inputs": [ { "key": "key1&

我有一个我正在搜索的键值。对于数组中的每个对象,每个对象都有一个键
key
。我希望将我正在搜索的术语与
键的值匹配,并返回键为
name
的同级项的值

下面是一个示例对象:

{
  "test1": {
    "functions": {
      "function1": {
        "inputs": [
          {
            "key": "key1",
            "name": "name1"
          },
          {
            "key": "key2",
            "name": "name3"
          },
          {
            "key": "key3",
            "name": "name3"
          }
        ]
      },
      "function2": {
        "inputs": [
          {
            "key": "key4",
            "name": "name4"
          },
          {
            "key": "key5",
            "name": "name5"
          },
          {
            "key": "key6",
            "name": "name6"
          }
        ]
      }
    }
  }
}
假设我想用
key4
查找输入的
名称
。如何在javascript中实现这一点?

这是您想要的吗

var yourObject={
“投入”:[
{
“键”:“调用集\名称”,
“名称”:“呼叫集名称”,
“类型”:“字符串”,
“必需”:false,
“fromPrevious”:false,
“仅限内部”:错误
},
{
“键”:“参考基因组”,
“名称”:“参考基因组”,
“描述”:“参考基因组”,
“类型”:“数据集”,
“必需”:正确,
“fromPrevious”:false,
“仅限内部”:错误,
“限制”:{
“数据集”:{
“类型”:[
“参考基因组”
],
“组成部分”:[
“bwa_参考_基因组”
]
}
}
},
{
“键”:“bam”,
“名称”:“BAM”,
“类型”:“文件”,
“必需”:正确,
“fromPrevious”:正确,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“BAM”
],
“indexedBy”:“bai”
}
}
},
{
“钥匙”:“白”,
“名称”:“BAM索引”,
“类型”:“文件”,
“必需”:正确,
“fromPrevious”:正确,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“BAM_索引”
]
}
}
},
{
“密钥”:“dbsnp_vcf”,
“名称”:“dbSNP VCF”,
“说明”:“单核苷酸多态性数据库”,
“类型”:“文件”,
“必需”:false,
“fromPrevious”:false,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“VCF”
],
“indexedBy”:“dbsnp\U vcf\U索引”
}
}
},
{
“键”:“dbsnp\U vcf\U索引”,
“名称”:“dbSNP VCF索引”,
“说明”:“单核苷酸多态性数据库索引”,
“类型”:“文件”,
“必需”:false,
“fromPrevious”:false,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“VCF_索引”,
“VCF_IDX”
]
}
}
}
]
};
函数getData(键,outputKey){
const output=yourObject.inputs.find(data=>data.key==key);
if(output&&output.hasOwnProperty(outputKey)){
返回输出[outputKey];
}
返回;
}
log(getData('reference_genome','name')这就是你想要的吗

var yourObject={
“投入”:[
{
“键”:“调用集\名称”,
“名称”:“呼叫集名称”,
“类型”:“字符串”,
“必需”:false,
“fromPrevious”:false,
“仅限内部”:错误
},
{
“键”:“参考基因组”,
“名称”:“参考基因组”,
“描述”:“参考基因组”,
“类型”:“数据集”,
“必需”:正确,
“fromPrevious”:false,
“仅限内部”:错误,
“限制”:{
“数据集”:{
“类型”:[
“参考基因组”
],
“组成部分”:[
“bwa_参考_基因组”
]
}
}
},
{
“键”:“bam”,
“名称”:“BAM”,
“类型”:“文件”,
“必需”:正确,
“fromPrevious”:正确,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“BAM”
],
“indexedBy”:“bai”
}
}
},
{
“钥匙”:“白”,
“名称”:“BAM索引”,
“类型”:“文件”,
“必需”:正确,
“fromPrevious”:正确,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“BAM_索引”
]
}
}
},
{
“密钥”:“dbsnp_vcf”,
“名称”:“dbSNP VCF”,
“说明”:“单核苷酸多态性数据库”,
“类型”:“文件”,
“必需”:false,
“fromPrevious”:false,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“VCF”
],
“indexedBy”:“dbsnp\U vcf\U索引”
}
}
},
{
“键”:“dbsnp\U vcf\U索引”,
“名称”:“dbSNP VCF索引”,
“说明”:“单核苷酸多态性数据库索引”,
“类型”:“文件”,
“必需”:false,
“fromPrevious”:false,
“仅限内部”:错误,
“限制”:{
“文件”:{
“类型”:[
“VCF_索引”,
“VCF_IDX”
]
}
}
}
]
};
函数getData(键,outputKey){
const output=yourObject.inputs.find(data=>data.key==key);
if(output&&output.hasOwnProperty(outputKey)){
返回输出[outputKey];
}
返回;
}

log(getData('reference_genome','name')是的,谢谢!这与我正在寻找的是一致的。但是,如果
inputs
嵌套在对象中更深的某个位置(我不确定确切的位置),并且存在多个
inputs
数组,该怎么办。那我怎么找呢?我编辑了我的原稿question@ACC您可以循环遍历每个键,直到键为inputs或yout子数据的类型为not OBJECT是的,谢谢!这与我正在寻找的是一致的。但是,如果
inputs
嵌套在对象中更深的某个位置(我不确定确切的位置),并且存在多个
inputs
数组,该怎么办。那我怎么找呢?我编辑了我的原稿question@ACC您可以循环遍历每个键,直到键为inputs或yout子数据的类型不是object