我跟随json数组的朋友
[
{
"Rate":100.0,
"MaterialID":"BOLT",
"BrandName":"",
"Description":"",
"Unit":"KG",
"TokenNumber":2
},
{
"Rate":null,
"MaterialID":"PLYWOOD",
"BrandName":"",
"Description":"",
"Unit":"FT",
"TokenNumber":2
},
{
"Rate":null,
"MaterialID":"SCREW 1.5 INCH",
"BrandName":"",
"Description":"",
"Unit":"KG",
"TokenNumber":2
}
]
我想了解找到materialID
值为PLYWOOD
的元素的最短路径。
我可以使用for
循环来完成它。但我想知道一些像
var unit = jsonArray[<whiere materialID == 'PLYWOOD']['Unit'];
如果需要,您可以使用jQuery
。
答案 0 :(得分:5)
您可以使用$ .grep
答案 1 :(得分:2)
jQuery不是必需的,所以你可以这样做:
function findItem(arr, key, value) {
for (var i = 0; i < ARR.length; i++) {
if (arr[i][key] === value) {
return(i);
}
}
return(-1);
}
var plywoodIndex = findItem(data, "MaterialID", "PLYWOOD");
if (plywoodIndex !== -1) {
// do something with the plywoodIndex object here
}
答案 2 :(得分:1)
正如拉格所说的那样。我找到了完成工作的方法。我设计了以下函数,可以返回具有指定materialID的对象。
假设:materials
是数组
function getMaterialFromArray(materialID) {
return $.grep(materials, function (n, i) {
return(n.MaterialID == materialID);
})[0];
}