js操作数组的一些小技巧
2016-05-18 14:49
375 查看
1.从数组中随机获取成员
var items = [12, 548 , 'a' , 2 , 5478 , 'foo' , 8852, , 'Doe' , 2145 , 119];var randomItem = items[Math.floor(Math.random() * items.length)];
2.获取指定范围内的随机数
var max=1000;var min=199;
var x = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(x);
3. 获取数组中的最大值和最小值
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];var maxInNumbers = Math.max.apply(Math, numbers);
var minInNumbers = Math.min.apply(Math, numbers);
console.log(maxInNumbers);
console.log(minInNumbers);
4. 数组洗牌
对于数组元素的洗牌,不需要使用任何外部的库,如下所示:var list = [1,2,3,4,5,6,7,8,9,10,12,13];
console.log(list.sort(function() {return Math.random() - 0.5 }));
5. 合并数组
一般情况下使用Array.concat()函数合并数组,但是这个函数并不适合用来合并两个大型的数组,因为其将消耗大量的内存来存储新创建的数组。var array1 = [1,2,3,4,5];
var array2 = [4,5,6,7];
console.log(array1.concat(array2)); //[1, 2, 3, 4, 5, 4, 5, 6, 7]
在这种情况之个,可以使用arr1.pus().apply(arr1,arr2)来替代创建一个新数组。这种方法不是用来创建一个新的数组,其只是将数组arr1和数组arr2合并在一起并保存在arr1中,同时减少内存的使用:
var array1 = [1,2,3];var array2 = [4,5,6];
var newArr=array1.push.apply(array1, array2);
console.log(newArr); //6 返回的是数组的长度
console.log(array1[2]);//2 返回的是合并后的数组array1[2]的值
相关文章推荐
- js面向对象(构造函数与继承)
- JS replace 全部替换
- js的随机数生成器,不再使用Math.random
- [转载]javascript 隐性类型转换步骤
- j2ee中的重定向和转发
- js的继承
- Javascript--装饰器模式和观察者模式
- [repost]State of the Art JavaScript in 2016
- 自动提取HTML中的JS进行合并与压缩
- js判断undefined类型
- ssh框架与json的整合,没导入相应jar包报的错误提示
- Angular JS中 Promise用法
- 理解Javascript中的变量作用域(scope)和语境(context)
- Extjs之自动消失提示框(Ext.example.msg)
- js file img 操作
- [js]关于闭包与访问数组下标的老生常谈
- Ajax跨域:jsonp还是CORS
- js将对象所有属性(都是数字,浮点小数),将其保留整数
- js求时间差
- JavaScript数组常用操作大全