1、获取指定范围内的随机数

function getRadomNum(min,max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}

2、随机获取数组中的元素

function getRadomFromArr(arr){
return arr[Math.floor(Math.random()*arr.length)];
}

3、生成从0到指定值的数字数组

function getArray(len) {
var arr = [],i = 1;
for (; arr.push(i++) < len;);
console.log(arr)
}

等同于:

function getArray(len) {
var arr = [],i = 1;
for (; i < len; i++) {
arr.push(i)
}
console.log(arr)
}

4、打乱数字数组的顺序

var arr = [1, 2, 3, 4, 5, 6, 7, 'a', 'dsfs', 8, 9, 'v'];
arr.sort(function() {
return Math.random() - 0.5
});

5、对象转换为数组

//注意对象必须是以下格式的才可以通过此方式转化为数组
//获取的DOM集合,以及函数的arguments也可以通过此方式转化为数组
var obj = {
0: 'qian',
1: 'long',
2: 'chu',
3: 'tian',
length: 4 }
var objArr = Array.prototype.slice.call(obj);
// var objArr = [].slice.call(obj);
// var objArr = Array.prototype.slice.apply(obj);
console.log(objArr)

6、验证是否为数组

function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}

7、获取数组中最大或者最小值

function maxAndMin(arr){
return {
max:Math.max.apply(null,arr.join(',').split(',')),
min:Math.min.apply(null,arr.join(',').split(','))
}
}

8、清空数组

//方式一 通过将长度设置为0
var arr = [1, 2, 3, 4, 5];
arr.length = 0; //方式二 通过splice方法
var arr = [1, 2, 3, 4, 5];
arr.splice(0, arr.length); //方式三 通过将空数组 [] 赋值给数组(严格意义来说这只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。)
var arr = [1, 2, 3, 4, 5];
arr = [];

9、保留指定小数位

var num =4.345678;
num = num.toFixed(4); // 4.3457 第四位小数位以四舍五入计算

10、生成指定长度的随机字母数字字符串

// 生成指定长度的随机字母数字字符串
/*写法一
function getRandomStr(len) {
var str = "";
for (; str.length < len; str += Math.random().toString(36).substr(2));
return str.substr(0, len);
}
写法二
function getRandomStr(len) {
var str = "";
for (; str.length < len;) {
str += Math.random().toString(36).substr(2);
}
return str.substr(0, len);
}*/
/*写法三*/
function getRandomStr(len) {
for (var str = ''; str.length < len; str += Math.random().toString(36).substr(2));
return str.substr(0, len)
}

11、找出数组中出现次数最的元素,并给出其出现过的位置

function getMaxAndIndex(arr) {
var obj = {};
arr.forEach(function(item, index) {
if (!obj[item]) {
obj[item] = {
indexs: [index]
}
} else {
obj[item]['indexs'].push(index);
}
});
var num = 0; //记录出现次数最大值
var str = ''; //记录出现次数最多的字符
var reArr; //返回最大值的位置数组
for (var attr in obj) {
var temp = obj[attr]['indexs'];
if (temp.length > num) {
num = temp.length;
str = attr;
reArr = temp;
}
}
return {
maxStr: str,
indexs: reArr
}
}

最新文章

  1. vs2013 括号自动配对样式设置
  2. 使用eclipse搭建maven项目
  3. 用Dictionary替换switch case
  4. js-基础(1)
  5. linux 的useradd 命令的p选项
  6. Unity3D研究院之自制批量关联材质与贴图插件
  7. Spring项目跟Axis2结合
  8. Python内置数据类型之Dictionary篇
  9. hdu 4579 Random Walk 概率DP
  10. select()函数详解
  11. poj 1698 Alice&amp;#39;s Chance 拆点最大流
  12. ASP.NET MVC企业级项目框架
  13. Little Puzzlers–List All Anagrams in a Word
  14. python2.7学习笔记-split用一个分隔符分割、多个分隔符分割、在有汉字存在的情况下split分割
  15. scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250
  16. ***OneinStack交互安装FAQ和管理服务常用命令
  17. CSS盒子模型 box-sizing 用法
  18. 神经网络训练tricks
  19. BZOJ2151种树——模拟费用流+链表+堆
  20. EF批量插入数据(Z.EntityFramework.Extensions)

热门文章

  1. MySQL的btree索引和hash索引
  2. Linux 拷贝
  3. maven课程 项目管理利器-maven 3-6 maven中Pom.xml的解析 3星
  4. 《Head First 设计模式》总结
  5. Python介绍以及Python环境搭建
  6. css3之移动平台资源
  7. POJO详解
  8. [topcoder]SRM 646 DIV 2
  9. ztree的数据绑定
  10. wxWidgets窗口类型