Javascript 使用键获取数组对象的值

Javascript 使用键获取数组对象的值,javascript,arrays,Javascript,Arrays,我有一个数组,其中包含两个具有键值对的对象 Object 1 : Key: "FirstObj" Value: "xyz" Object 2 : Key: "SecondObj" Value: "abc" 我想知道如何使用键FirstObj检索数组的值 到目前为止,我一直在尝试: var getKeyValue= []; for(var i=0;i<myChartArray.length;i++) { getKeyValue.push(myChartArray[i]["F

我有一个数组,其中包含两个具有键值对的对象

Object 1 : Key: "FirstObj" Value: "xyz" 
Object 2 : Key: "SecondObj" Value: "abc"
我想知道如何使用键
FirstObj
检索数组的值

到目前为止,我一直在尝试:

var getKeyValue= [];
 for(var i=0;i<myChartArray.length;i++)
 {
     getKeyValue.push(myChartArray[i]["FirstObj"]);

 }
var getKeyValue=[];
对于(var i=0;i您可以使用:

请注意,此代码使用ES6功能。

您可以使用:


请注意,此代码使用ES6功能。

如果不想使用ES6,可以使用
Array.prototype.filter()

该函数将如下所示:

var yourValue = yourArray.filter(function(object) {

  return object.Key === 'FirstObj';

})[0].Value; 
变量
yourValue
将包含您要查找的值


或者,如果您只需要解决此特定情况,而不是寻找迭代的、可扩展的解决方案,您可以静态选择对象和值。这假设您可以确定数组中对象的顺序。如果上述情况对您适用,您可以执行以下操作:


var value=youArray[0].value;
如果不想使用ES6,可以使用
Array.prototype.filter()

该函数将如下所示:

var yourValue = yourArray.filter(function(object) {

  return object.Key === 'FirstObj';

})[0].Value; 
变量
yourValue
将包含您要查找的值


或者,如果您只需要解决此特定情况,而不是寻找迭代的、可扩展的解决方案,您可以静态选择对象和值。这假设您可以确定数组中对象的顺序。如果上述情况对您适用,您可以执行以下操作:


var value=youArray[0].value;

添加到str的答案中,如果没有ES6,您可以这样做:

function getFirstObj(myChartArray){
    for(var i=0; i < myChartArray.length; i++){
       if (myChartArray[i].Key === 'FirstObj'){
           return myChartArray[i]
       }
    }
}
函数getFirstObj(myChartArray){ 对于(var i=0;i
除了str的答案之外,如果没有ES6,您可以这样做:

function getFirstObj(myChartArray){
    for(var i=0; i < myChartArray.length; i++){
       if (myChartArray[i].Key === 'FirstObj'){
           return myChartArray[i]
       }
    }
}
函数getFirstObj(myChartArray){ 对于(var i=0;i您可以使用
filter()

var数组=[];
push({Key:“FirstObj”,Value:“xyz”});
push({Key:“SecondObj”,Value:“abc”});
var found=array.filter(函数(项){return item.Key==“FirstObj”;});

console.log(找到[0]);
您可以使用
filter()

var数组=[];
push({Key:“FirstObj”,Value:“xyz”});
push({Key:“SecondObj”,Value:“abc”});
var found=array.filter(函数(项){return item.Key==“FirstObj”;});
console.log(找到[0]);
您可以使用:

var数组=[{Key:“FirstObj”,Value:“xyz”},{Key:“SecondObj”,Value:“abc”}],
find=array.find(函数(elem){
返回元素Key==“FirstObj”;
});
console.log(已找到);
您可以使用:

var数组=[{Key:“FirstObj”,Value:“xyz”},{Key:“SecondObj”,Value:“abc”}],
find=array.find(函数(elem){
返回元素Key==“FirstObj”;
});

console.log(已找到)
您可能需要在
var
i
之间留一个空格,您可以添加如何制作
myChartArray
吗?您可能需要在
var
i
之间留一个空格,您可以添加制作
myChartArray
的方式吗?这是一个很好的解决方案,在大多数情况下都很有意义,但请注意,这样做会失败使用整个
数组
,而不是在找到值后停止,如果
数组
很长,这可能会很昂贵。True@LukaJacobowitz,但在上述特定情况下,是可用的最干净、最短的解决方案。但最好指出使用给定解决方案的注意事项:)确实如此。谢谢。这是一个很好的解决方案,在大多数情况下都很有意义,但请注意,这将遍历整个
数组,而不是在找到值后停止,如果
数组非常长,这可能会很昂贵。True@LukaJacobowitz,但是在上面提到的特定情况下,它是可用的最干净、最短的解决方案。但最好指出使用给定解决方案的注意事项:)的确如此。谢谢。这是一个很好的解决方案,在大多数情况下都很有意义,但请注意,这将遍历整个
数组
,而不是在找到值后停止,如果
数组
很长,这可能会很昂贵。这是一个很好的解决方案,在大多数情况下都很有意义,但请注意,这将遍历整个
数组
,而不是在找到值后停止,如果
数组
很长,这可能会造成成本高昂。