您的位置:首页 > Web前端 > JavaScript

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]的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: