一.获取指定范围内的随机数
这个功能在生成测试用的假数据时特别有用
var max = 100;
var min = 50;
var x = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(x);
二.生成从0到指定值的数字数组
var numbersArray = [];
var max = 100;
for( var i=1; numbersArray.push(i++) < max;);
console.log(numbersArray); // [1,2,3 ... 100]
三.生成随机的字母数字字符串
function generateRandomAlphaNum(len) {
var rdmString = "";
for( ; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));
return rdmString.substr(0, len);
}
console.log(generateRandomAlphaNum(10));
四.打乱数字数组的顺序
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
numbers = numbers.sort(function(){ return Math.random() - 0.5});
console.log(numbers);
五.获取数组中的最大值和最小值
var numbers = [5,0,120,-215,228,11233205,-75411];
var maxInNumbers = Math.max.apply(Math, numbers); //得到数组中的最大值
var minInNumbers = Math.min.apply(Math, numbers); //得到数组中的最小值
console.log(maxInNumbers);
console.log(minInNumbers);
六.保留指定小数位数
var num =2.443242342;
num = num.toFixed(4);
console.log(num); //2.4432
七.浮点计算的问题
console.log(0.1 + 0.2 === 0.3); // false
console.log(9007199254740992 + 1); // 9007199254740992
console.log(9007199254740992 + 2); // 9007199254740994
八.使用length属性清空数组
var myArray = [12 , 222 , 1000 ];
myArray.length = 0;
console.log(myArray); //[]
九.使用length属性截断数组
var myArray = [12 , 222 , 1000 , 124 , 98 , 10 ];
myArray.length = 4;
console.log(myArray); // [12 , 222 , 1000 , 124]
十.不要直接从数组中delete或remove元素
如果对数组元素直接使用delete,其实并没有删除,只是将元素置为了undefined。数组元素删除应使用splice。
var items = [12, 548 ,'a' , 2 , 5478 , 'foo' , 8852 ,, 'Doe' ,2154 , 119 ];
console.log(items.length); // 11
console.log(delete items[3]); // true
console.log(items.length); // 11
items.splice(3,1);
console.log(items.length); // 10
十一.使用map()函数方法对数据循环
var squares = [1,2,3,4].map(function (val) {
return val * val;
});
console.log(squares); // [1,4,9,16]
十二.不要对数组使用for-in
var sum = 0;
for (var i = 0, len = arrayNumbers.length; i < len; i++) {
sum += arrayNumbers[i];
}
i和len两个变量是在for循环的第一个声明中,二者只会初始化一次,这要比下面这种写法快:
for (var i = 0; i < arrayNumbers.length; i++)