我有以下JavaScript对象:
{
"DPI": "66.8213457076566",
"width": "563.341067",
"editable": "True",
"pricecat": "6",
"numpages": "2",
"height": "400",
"page": [{
"filename": "999_9_1.jpg",
"line": [{
"test": "test 1",
lineid: 22
},
{
"test": "test 2",
lineid: 22
},
{
"test": "test 3",
lineid: 22
},
{
"test": "test 4",
lineid: 22
},
{
"test": "blank",
lineid: 22
}]
},
{
"filename": "999_9_2.jpg",
"line": []
}]
}
Run Code Online (Sandbox Code Playgroud)
我可以用像这样的行做大多数事情 measurements.page[0].line[0].lineid;
但我真正坚持的是当我想编辑一个特定的行,但我只有lineid值(例如22)而不是数组中的行号:
measurements.page[0].line[WHAT DO I PUT HERE].test = "new changed value";
Run Code Online (Sandbox Code Playgroud)
你必须搜索
function find_in_array(arr, name, value) {
for (var i = 0, len = arr.length; i<len; i++) {
if (name in arr[i] && arr[i][name] == value) return i;
};
return false;
}
var id = find_in_array(measurements.page[0].line, 'lineid', 22);
Run Code Online (Sandbox Code Playgroud)