Json列表数据查找更新

/*
从Json数组按某个字段中查找记录
IN
array           数据列表
fieldName       字段名称
fieldValue      字段值

OUT
查找到的数据列表
*/
var SearchRecordsFromJsonArray = function (array, fieldName, fieldValue) {
    var result = [];
    if ($.isArray(array)) {
        for (var i = 0; i < array.length; i++) {
            var rowItem = array[i];
            for (var item in rowItem) {
                if (item == fieldName && rowItem[item] == fieldValue) {
                    result.push(rowItem);
                }
            }
        }
    }
    return result;
}
/*
根据某字段修改记录的值
若没匹配到相应的记录,则不更新
IN
array           要更新的数据列表
record          新的记录
fildName        字段名称

OUT
array           更新后的数据列表
*/
var UpdateRecordByKey = function (array, record,fieldName) {
    if ($.isArray(array)) {
        for (var i = 0; i < array.length; i++) {
            var rowItem = array[i];
            for (var item in rowItem) {
                if (item == fieldName && rowItem[item] == fieldValue) {
                    //更新匹配到的记录
                    for (var ri in rowItem) {
                        for (var r in record) {
                            if (ri == r) {
                                rowItem[ri] = record[r];
                            }
                        }
                    }
                }
            }
            array[i] = rowItem;
        }
    }
    return array;
}
//查找全是遍历,待改进

posted on 2018-04-20 19:53  零一两二三  阅读(2269)  评论(0编辑  收藏  举报

导航