/* 从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; }
//查找全是遍历,待改进