分析JavaScript数组中的特定值

分析JavaScript数组中的特定值,javascript,json,parsing,Javascript,Json,Parsing,我有一个JavaScript数组,比如 var main = [ { "title": "Yes", "path": "images/main_buttons/tick_yes.png"}, { "title": "No", "path": "images/main_buttons/cross_no.png"}, ] 我想为具有特定标题值的项目获取相应的路径值 差不多 var temp = "Yes"; var result = (path value where main[0].titl

我有一个JavaScript数组,比如

var main = [
 { "title": "Yes", "path": "images/main_buttons/tick_yes.png"},
 { "title": "No", "path": "images/main_buttons/cross_no.png"},
]
我想为具有特定
标题
值的项目获取相应的
路径

差不多

var temp = "Yes";
var result = (path value where main[0].title == temp);
我想在这里得到
结果


如果
temp==“No”
,它应该会给我相应的
路径值。

您可以使用
数组.prototype.filter
方法:

var result = main.filter(function(o) {
    return o.title === temp;
});

var path = result.length ? result[0].path : null;

请注意,较旧的浏览器不支持
.filter()
方法。但是,您可以使用。

您可以使用
Array.prototype.filter
方法:

var result = main.filter(function(o) {
    return o.title === temp;
});

var path = result.length ? result[0].path : null;
请注意,较旧的浏览器不支持
.filter()
方法。不过,您可以使用。

我会这样做

function getPath(title, arr) {
    for (var i=arr.length;i--;) {
        if (arr[i].title == title) return arr[i].path;
    }
}

getPath('Yes', main); // returns the path or undefined
我想这样做

function getPath(title, arr) {
    for (var i=arr.length;i--;) {
        if (arr[i].title == title) return arr[i].path;
    }
}

getPath('Yes', main); // returns the path or undefined
这里有一种方法:

var myItem = (function(arr, val){
  for(var item in arr){
    if(!arr.hasOwnProperty(item) && arr[item].title == val){
      return arr[item];
    }
  }
  return null;
})(myJSArray, "valueToMatch");
这里有一个方法:

var myItem = (function(arr, val){
  for(var item in arr){
    if(!arr.hasOwnProperty(item) && arr[item].title == val){
      return arr[item];
    }
  }
  return null;
})(myJSArray, "valueToMatch");

这不是JSON字符串,这是一个JavaScript数组(由JavaScript对象组成)。您需要循环
main
并比较每个元素
。title
值,直到找到正确的值。如果控制此代码的生成,您可以将其设为关联数组,如
var arr=[“yes”:“someval”、“no”、“someotherval”]
并使用
arr[“yes”]
访问它们,这不是一个JSON字符串,这是一个JavaScript数组(由JavaScript对象组成)。您需要循环
main
并比较每个元素
。title
值,直到找到正确的值。如果您控制此代码的生成,您可以将其设置为关联数组,如
var arr=[“yes”:“someval”、“no”、“someotherval”]
并使用
arr[“yes”]