我有以下 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": []
}]
}
我可以用 measurements.page[0].line[0].lineid;
这样的行来做大部分事情
但我真正坚持的是当我想编辑特定行但我只有可用的 lineid
值(例如 22
)而不是该行数组中的数字:
measurements.page[0].line[WHAT DO I PUT HERE].test = "new changed value";
最佳答案
你必须搜索
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);
关于javascript - 当我只知道项目的一个属性的值时,如何从 JavaScript 数组中选择一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2713599/