超級有用的JavaScript函數
下面是一些超級有用的JavaScript函數。
將字符串中的第一個字母大寫
這個函數是PHP uctoupper()函數的一個克隆!
function ucfirst(string) { return string.charAt(0).toUpperCase() + string.slice(1); }
搜索JavaScript 數組和對象集合
提供一個對象或一個對象數組,一個鍵和一個值。然后返回匹配鍵的對象或對象 - 值對。
function searchObjects(obj, key, val) { var objects = [];
for (var i in obj) {
if (typeof obj[i] == 'object') {
objects = objects.concat(searchObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
objects.push(obj);
}
}
return objects;
}
搜索JavaScript對象集合,返回索引位置
通常用它來查找索引,然后就可以直接引用該對象。
function getObjectIndexFromId(obj, id) { if (typeof obj == "object") {
for (var i = 0; i < obj.length; i++) {
if (typeof obj[i] != "undefined" && typeof obj[i].id != "undefined" && obj[i].id == id) {
return i;
}
}
}
return false;
}
比較JavaScript對象
提供了兩個對象,它會告訴你,它們是否相同。可用于實現表單“更改未保存”的提示非常有用。
function compareObjects(obj1, obj2) { for (var param in obj1) { if (typeof obj1[param] == 'object' && obj1[param] != null) { //If the length is different, we dont need to check if the values have changed (As it is obvious they have!) if (typeof obj2[param] != "undefined" && obj1[param].length != obj2[param].length) { return true; } //Return if we have already found evidence of a change, otherwise keep checking the rest of the object if (compareObjects(obj1[param], obj2[param]) === true) return true; } else { //Ignore the angular added $$hashKey variable if (param != "$$hashKey") { //If the values are different then return true if (obj1[param] != obj2[param]) { return true; } } } } //Once every value has been checked and nothing is different, return false; return false; }
MySQL的日期時間轉為JavaScript的日期
快速將一個MySQL的日期時間字符串轉換成JavaScript的日期對象。
function mysqlDateTimeToJSDate(datetime) { // Split timestamp into [ Y, M, D, h, m, s ] var t = datetime.split(/[- :]/); return new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!