关于数组(二)

xiaoxiao2021-02-28  146

4. sort排序

无序变有序

<script> var arr = [ 'c', 'd', 'a', 'e' ]; arr.sort(); alert( arr );//acde 按照字符的编码值排序 var arr2 = [ 4,3,5,5,76,2,0,8 ]; arr2.sort(); alert( arr2 );//0,2,3,4,5,5,76,8 按照字符串方式排序 arr2.sort(function ( a, b ) { return a - b;//按从小到大排序,正数换位置 }); alert( arr2 );//0,2,3,4,5,5,8,76 var arrWidth = [ '345px', '23px', '10px', '1000px' ]; arrWidth.sort(function ( a, b ) { return parseInt(a) - parseInt(b);//只会改变位置,不会改变值的类型 }); alert( arrWidth ); </script>

有序变无序

<script> var arr = [ 1,2,3,4,5,6,7,8 ]; arr.sort(function ( a, b ) { return Math.random() - 0.5;//正值交换,负值不交换 }); alert( arr ); // alert( Math.random() ); </script>

5. 随机数及随机公式推理过程

Math.random():随机产生0-1之间的小数点 Math.round():四舍五入 随机产生0-1之间的整数 Math.round(Math.random()); 随机产生0~10之间的整数 Math.round(Math.random()*10) 随机产生5~10之间的整数 Math.round( Math.random()*5 + 5 ) 随机产生10~20之间的整数 Math.round( Math.random()*10 + 10 ) 随机产生20~100之间的整数 Math.round( Math.random()*80 + 20 )

推导 // x ~ y var x = 3; var y = 49; // alert( Math.round( Math.random()*(y-x) + x ) );

// 0~x // alert( Math.round( Math.random()*x) );

// 1~x alert( Math.ceil( Math.random()*x) );

6. concat、reverse、面试题及练习

concat:连接数组

<script> var arr1 = [ 1,2,3 ]; var arr2 = [ 4,5,6 ]; var arr3 = [ 7,8,9 ]; alert( arr1.concat( arr2, arr3 ) ); </script>

reverse:反转数组

var arr1 = [ 1,2,3,4,5,6 ]; arr1.reverse(); alert( arr1 );//654321 var str = 'abcdef'; //split将字符转成数组 //join() 方法用于把数组中的所有元素放入一个字符串。 alert(str.split('').reverse().join(''));

// 课上小练习: // 随机产生 100 个从 0 ~ 1000 之间不重复的整数 // var str = ‘aaasdlfjhasdlkfs’; // indexOf(’s’) —— 为数组编写该方法:indexOf(‘img/1.jpg’)

转载请注明原文地址: https://www.6miu.com/read-60437.html

最新回复(0)