How do I select an item out of a JavaScript array when I only know a value for one of the item's properties?

javascript

Solution

you have to search

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);

Problem

I have the following JavaScript object: ``` { "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": [] }] } ``` I can do most things with lines like `measurements.page[0].line[0].lineid;` But what I am really stuck with is when I want to edit a specific line but I only have the `lineid` value available (for example `22`) and not the line number in the array: ``` measurements.page[0].line[WHAT DO I PUT HERE].test = "new changed value"; ```

Original source