检查变量的值是Javascript对象数组的键并返回该键的值

时间:2019-02-04 05:30:18

标签: javascript arrays json

array = {
event: [{
        key: "value",
        lbl: "value"
    }],
event1: [{
        key: "value",
        lbl: "value"
    }]

var variable;
if(variable in array){
//what to do here?
}

我在变量中有一个值,该值将是数组内数组的名称(即):variable =“ event”或“ event1”; 我想要一个函数返回变量中带有键的数组!

3 个答案:

答案 0 :(得分:1)

如果要使用变量访问任何属性,则需要使用[] Bracket notation访问对象

let arr = {event: [{key: "value",lbl: "value"}],event1: [{key: "value",lbl: "value"}]}

var variable = 'event1'

console.log(arr[variable])

答案 1 :(得分:0)

使用括号表示法可从对象访问密钥

array = {
event: [{
        key: "value",
        lbl: "value"
    }],
event1: [{
        key: "value",
        lbl: "value"
    }]
}
var variable='event1';
console.log(variable, array[variable])

答案 2 :(得分:0)

您的array变量不是数组,而是对象。您可以使用方括号表示法访问对象的属性/值(即eventevent1

arr["event1"] // returns the array (the key's value) at event one.

因此,您可以使用以下箭头函数从任何给定的key对象中获取任何给定的obj的任何值:

getVal = (obj, key) => obj[key];

虽然不需要某个功能,但我已根据您的要求创建了一个。另外,您也可以使用:

obj[varaible] // returns the array (value) from the key (variable)

请参见下面的工作示例:

const obj = {
  event: [{
    key: "value",
    lbl: "value"
  }],
  event1: [{
    key: "value",
    lbl: "value"
  }]
},
getVal = (obj, key) => obj[key],

variable = "event";
console.log(getVal(obj, variable));