/* 從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; }
//查找全是遍歷,待改進