我有像
这样的JavaScript数组var main = [
{ "title": "Yes", "path": "images/main_buttons/tick_yes.png"},
{ "title": "No", "path": "images/main_buttons/cross_no.png"},
]
我想获得具有特定path
值的项目的相应title
值。
像
这样的东西var temp = "Yes";
var result = (path value where main[0].title == temp);
我想在这里获得result
值。
如果temp == "No"
,它应该为我提供相应的path
值。
答案 0 :(得分:5)
您可以使用Array.prototype.filter
方法:
var result = main.filter(function(o) {
return o.title === temp;
});
var path = result.length ? result[0].path : null;
请注意,较旧的浏览器不支持.filter()
方法。但是,您可以使用polyfill。
答案 1 :(得分:1)
我会这样做
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
答案 2 :(得分:1)
这是一种方式:
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");