這里主要是記錄一些常用的數(shù)據(jù)操作
-
生成隨機(jī)數(shù)的算法
function getGUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
}).toUpperCase();
}
-
去除輸入框的空格,返回最終的內(nèi)容
function delTheInputBlank(e) {
var str = e.detail.value;
var length = str.length;
var lastString = str.substr(length - 1, 1);
if (lastString == " ") {
var text = str.substr(0, length - 1);
return text
} else {
return str
}
}
這個是在輸入框輸入的時候(bindinput的時候)
調(diào)用
-
去除首尾的空格
function trim(s) {
return s.replace(/(^\s*)|(\s*$)/g, "");
}
這里還有一些其他的去掉空格操作:js 去掉字符串前后空格
-
數(shù)組的一些操作
1勇蝙、join() — 將數(shù)組中所以元素都轉(zhuǎn)化為字符串鏈接在一起覆积,返回最后生成的字符串
Array.join()方法將數(shù)組中所以元素都轉(zhuǎn)化為字符串鏈接在一起芦拿,返回最后生成的字符串支示。也可以指定可選的字符串在生成的字符串中來分隔數(shù)組的各個元素。如果不指定分隔符暇矫,默認(rèn)使用逗號主之。案例如下:var a=[1,2,3]; a.join();//=> "1,2,3" 因為沒有指定分隔符,默認(rèn)為逗號李根。 a.join("+");//=> "1+2+3" 指定分隔符為+ a.join("-");//=> "1-2-3" 指定分隔符為-
Array.join()方法是String.split()方法的逆操作槽奕,后者是將字符串分割成若干塊創(chuàng)建一個數(shù)組。
2房轿、 reverse() — 將數(shù)組中元素進(jìn)行倒敘粤攒,返回倒敘的數(shù)組
Array.reverse()方法將數(shù)組中元素進(jìn)行倒敘,返回倒敘的數(shù)組囱持,它是在原來數(shù)組中進(jìn)行倒敘夯接,不產(chǎn)生的新數(shù)組,返回就是原來的數(shù)組洪唐,只不過里面元素已經(jīng)進(jìn)行倒敘重排了钻蹬。案例如下:var a=[1,2,3]; a.reverse();// =>a=[3,2,1];
3、sort() — 將數(shù)組中的元素排序凭需,并返回排序好的數(shù)組
Array.sort()方法將數(shù)組中的元素排序问欠,并返回排序好的數(shù)組。如果不傳參數(shù)默認(rèn)以字母表順序進(jìn)行排序粒蜈。案例如下:var a=[4,3,1,2] a.sort();// =>[1,2,3,4] a.sort(function(a,b){return a-b;});//=>[1,2,3,4] 降序排列 a.sort(function(a,b){return b-a;});//=>[4,3,2,1] 升序排列
這里使用匿名函數(shù)很方便顺献,因為函數(shù)只使用一次就沒有必要給函數(shù)命名了。
4枯怖、concat() — 合并/創(chuàng)建并返回一個新數(shù)組
Array.concat()方法創(chuàng)建并返回一個新數(shù)組注整,新數(shù)組中的元素包含調(diào)用數(shù)組的元素和concat()中傳入?yún)?shù)的值,傳入的參數(shù)可以是單獨數(shù)值度硝,也可以是數(shù)組,concat()不會遞歸扁平化數(shù)組的數(shù)組肿轨。案例如下:var a=[5,6,7]; a.concat(1,2);// =>[5,6,7,1,2]; a.concat([1,2]);// =>[5,6,7,1,2]; a.concat(3,[1,2]);// =>[5,6,7,3,1,2]; a.concat([1,[2,3]]);// =>[5,6,7,1,[2,3]];
5、slice() — 返回指定數(shù)組的一個片段或子數(shù)組
Array.slice()方法返回指定數(shù)組的一個片段或子數(shù)組蕊程。里面可以傳一個參數(shù)或兩個參數(shù)椒袍,參數(shù)可以為正也可以為負(fù)。案例如下:var a=[5,6,7,3,1,2]; a.slice(1)// =>[6,7,3,1,2] 數(shù)字參數(shù)指的是數(shù)組的索引藻茂,一個參數(shù)表示開始的位置驹暑,不傳第二個參數(shù)默認(rèn)為數(shù)組中元素個數(shù)玫恳。 a.slice(1,3)// =>[6,7] 第二參數(shù)是數(shù)組索引結(jié)束位置,(不包含) index>=1&&index<3; a.slice(1,-3)// =>[6,7] 當(dāng)參數(shù)中有負(fù)數(shù)時候优俘,可以進(jìn)行轉(zhuǎn)換正數(shù)京办,方法就是-3+6(數(shù)組里元素個數(shù)) a.slice(-3,-2)// =>[3] 同理如上。
6帆焕、splice() — 在數(shù)組中插入或刪除的通用方法
Array.splice()方法是在數(shù)組中插入或刪除的通用方法惭婿。它會修改調(diào)用的數(shù)組,splice()可以傳入三個參數(shù)视搏,第一參數(shù)表示刪除元素索引開始的地方审孽,第二參數(shù)表示刪除元素總數(shù)县袱,第三參數(shù)浑娜,表示插入的元素,元素插入的位置就是刪除元素開始的位置式散。案例如下:var a=[5,6,7,3,1,2]; a.splice(2);// =>[7,3,1,2] a=[5,6];//傳入一個參數(shù)表示從索引開始刪除之后所有的元素筋遭。 a.splice(2,2);// =>[7,3] a=[5,6,1,2];第二個參數(shù)表示刪除元素的個數(shù)。 a.splice(2,2暴拄,'a','b','c'); //=>[7,3] a=[5,6,'a','b','c',1,2];
7漓滔、push() 和 unshift()
Array.push()方法就是向數(shù)組最后面添加元素,它返回的是新數(shù)組的長度乖篷。
Array.unshift()方法就是向數(shù)組最前面添加元素响驴,返回的是新數(shù)組的長度。var a=[1,2,3]; a.push(4,5);// a=[1,2,3,4,5]; 返回 值為5撕蔼; a.unshift(4,5);// a=[4,5,1,2,3]; 返回 值為5豁鲤;☆傳的參數(shù)可以一個,也可以多個鲸沮。
8琳骡、pop() 和 shift()
Array.pop()方法就是刪除數(shù)組中最后一個元素,它返回是刪除的元素讼溺。
Array.shift()方法是刪除數(shù)組最前面的元素楣号,返回是刪除的元素。var a=[5,6,7]; a.pop();// a=[5,6]; 返回值為 7 a.shift();// a=[6,7]; 返回值 5
深入一些的了解可以看看:JS合并數(shù)組的幾種方法及優(yōu)劣比較
-
字符串的一些操作
這里已經(jīng)懶得自己想了怒坯,我們就來傳送吧l庞!剔猿!
Javascript中字符串和數(shù)字的操作方法整理