1、数组创建一个随机项
var items = [12,548,'a',2,5478,'foo',8852,,'Doe',2145,119]; var randomItem = items[Math.floor(Math.random()*items.length)];
2、在特定范围里获得一个随机数
var x = Math.floor(Math.random()*(max - min + 1)) + min;
3、在数字0和最大数之间生成一组随机数
var numbersArray = [], max = 100; for( var i=1; numbersArray.push(i++)<max;);
4、生成一组随机的字母数字字符
function generateRandomAiphaNum(len){ var rdmstring = ""; for( ; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); return rdmString.substr(0,len); }
5、打乱数字数组
var numbers = [5,458,120,-215,228,400,1222205,-85411]; numbers = numbers.sort(function(){ return Math.random() - 0.5 });
6、字符串trim函数
String.prototype.trim = function(){ return this.replace(/^s+|s+$/g,""); };
7、数组追加
var array1 = [12,"foo",{name "Joe"},-2458]; var array2 = ["Doe",555,100]; Array.prototype.push.apply(array1,array2);
8、将参数对象转换为数组
var argArray = Array.prototype.slice.call(arguments);
9、验证一个给定参数是否为数字
function isNumber(n){ return !isNaN(parseFloat(n)) && isFinite(n); };
10、验证一个给定的参数为数组
function isArray(obj){ return Object.prototype.toString.call(obj) ==='[object Array]'; };
注意:如果toString()方法被重写了,你将不会得到预期结果。
或者你可以这样写:
var myFrame = document.createElement('iframe'); document.body.appendChile(myFrame); var myArray = window.frames[window.frames.length-1].Array; var arr = new myArray(a,b,10); arr instanceof Array;
11、从数字数组中获得最大值和最小值
var numbers = [5,458,120,-215,228,400,122205,-85411]; var maxInNumbers = Math.max.apply(Math,numbers); var minInNumbers = Math.min.apply(Math,numbers);
12、清空数组
var myArray = [12,222,1000]; myArray.length = 0;
13、不要用delete从数组中删除项目
开发者可以使用split来代替使用delete来删除数组项。与其删除数组中未定义项目,还不如使用delete来替代。
var items = [12,548,'a',2,5478,'foo',8852, ,'Doe',2154,119]; item.length;//return 11 delete items[3]; items.length;//return 11 /*[12,548,'a',undefined,5478,'foo',8852, ,'Doe',2154,119]*/
也可以……
var items = [12,548,'a',2,5478,'foo',8852, ,'Doe',2154,119]; item.length;//return 11 items.splice(3,1); items.length;//return 10 /*[12,548,'a',5478,'foo',8852, ,'Doe',2154,119]*/
delete方法应该删除一个对象属性
14、使用length属性缩短数组
如上文提到的清空数组,开发者还可以使用length属性缩短数组。
var myArray = [12,222,1000,124,98,10]; myArray.length = 4;//[12,222,1000,124];
如果你所定义的数组长度值过高,那么数组的长度将会改变,并且会填充一些未定义的值到数组里,数组的length属性不是只读的。
myArray.length = 10; myArray[myArray.length - 1];//undefined