JS写随机数

使用JS编写一个方法 让数组中的元素每次刷新随机排列(不得使用sort方法;需注明步骤思路)。例如:初始数组:a,b,c,d  每次刷新页面都会显示不同:b,c,d,a….a,d,c,b…等等  代码:

<html><head>    <title></title>    <meta charset="utf-8"></head><body><!--变换顺序按钮--><input type="button" id="btnSort" value="变换顺序"/><script type="text/javascript" charset="UTF-8">    var arr=["a","b","c","d"];          //定义一个数组,内容为a,b,c,d    var btn=document.getElementById("btnSort");  //获取按钮button的节点    btn.onclick=function(){        var newArr=arrSort(arr);        console.log(newArr.join(","));           //将数组newArr的内容,在控制台以逗号分开进行输出    }    function arrSort(arr){           //定义一个函数        var newArr=[];          //定义一个新的数组         var temp=[];          //定义一个新的数组        for(var p in arr){    //引用类型不能直接用等号,通过循环来进行复制; 这里的p为下标,表示为取数组arr中的下标            temp[p]=arr[p];     //将数组arr中的数赋值给新数组temp        }        for(var i=0;i<arr.length;i++){   //随机数  最小值为0;  最大值为  数组的长度-1            var random=Math.round(Math.random()*(temp.length-1));  //生成0-数组temp.length-1的随机数            newArr[i]=temp[random];              //将数组temp随机生成的数赋值给新数组newArr            temp.splice(random,1);              //删除已经生成了的随机数对应的数组temp下标的值;        }        return newArr;    }</script></body></html>
时间: 2024-08-11 23:46:49

JS写随机数的相关文章

js产生随机数函数,js如何生成随机数

函数: /** * js产生随机数函数 * n int 需要产生的随机数位数 */ function RndNum(n){ var rnd=""; for(var i=0;i<n;i++) rnd += Math.floor(Math.random()*10); return rnd; } 调用: //产生一个5位的随机数 var a = RndNum(5); alert(a); 将产生一个5位的随机数,例如:53206 js本身提供了产生随机数的方法 random() 方法可返

原生JS写的ajax函数

参照JQuery中的ajax功能,用原生JS写了一个ajax,功能相对JQuery要少很多,不过基本功能都有,包括JSONP. 调用的方式分为两种: 1. ajax(url, {}); 2. ajax({}); 调用的方法参照JQuery的ajax,只是 不需要写$.ajax ,只需要写 ajax 就可以了. 代码如下: !function () { var jsonp_idx = 1; return ajax = function (url, options) { if (typeof url

用js 写计算器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv = "content-type" content="text/html;charset=utf-8"/> &

js 多个checkedBox分组互斥功能实现 由于QQ邮件无法发送暂且将js写在博客园

今天有一项目需要实现多个checkbox分组实现组内互斥功能 . 具体要求如下:大的分类分为A B C 三类, 其中 A   B 中又分为 A1 A2 A3   B1 B2 B3  二级分类,二级分类下又有 A11  A12 A13 A14  A21 A22 A31 A32  B11 B12 B13 B14 ... .要求实现 A B C 互斥 A1 A2 A3 B1 B2 B3 组内互斥.具体结构及代码如下 具体功能树如下: A A1 A11 A12 A13 A2 A21 A22 A3 A31

js写基础insertAfter()方法

DOM没有提供insertAfter()方法,使用js写一个基础的insertAfter()方法. ? 1 2 3 4 5 6 7 8 9 10 11 12 <script type="text/javascript"> function insertAfter(newElement,targetElement){     var parent = targetElement.parentNode;     if(targetElement == parent.lastCh

js写一个通讯录

模拟通讯录列表功能 我们手机上面的通讯录列表里面都有根据右侧的字母跳滚动到该字母的第一个名单地方. 于是我把这个功能拆分成两个功能区思考: 第一个是如何把这些名字的的汉字首字母提取出来,并且把相同字母的汉字归类,最后显示成列表. 第二是右侧字母导航,它需要一直固定在右侧,并且我按一个字母,屏幕最中间会弹出一个字母方框,代表我选中了这个字母. 我首先去实现第一个问题,如何提取名字中第一个汉字的首字母? 我去尝试过许多种方法,其中尝试过使用localeCompare(),我也成功的排序了,但是我发现

JS写小游戏(一):游戏框架

前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 一般,小游戏都要关注两个问题:刷新和交互.因为游戏一般是动态的,所以需要不断刷新.JavaScript是单线程,如果用C语言写过贪吃蛇之类的小游戏,应该知道,单线程一般是挂起一个时间来达到动态效果.比如C语言的Sleep(),JS的setInterval()等.但是js还有一种更高性能的方法req

css,js写的简易的tab导航

简易tab导航 作为前端新手,看着别人写的tab导航代码,自己想模仿却总是忘记.于是这次自己利用css,js写了简易的tab导航,话不多说,上代码,首先是html和css部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tab选项卡切换</title> <style type="tex

用原生JS写移动动画案例及实际应用

js很强大 相信很多人都知道,那么它有哪些强大之处呢?有兴趣的人可以去查查,这里就不赘述了,因为不在本片文章讨论的范围. 我们要讲的是怎么用原生JS写移动动画?我们先举一个最简单的动画例子,很多网站的左边或右边会有个分享的框,鼠标放上去就还移出一个列表,里面是要分享的地址.鼠标移开,就会移进去. 要实现这个效果要怎么做呢? 可以想一想,鼠标经过和鼠标离开很好理解 用onmousemove事件和onmouseout事件就能完成. 那移动动画呢?我们可以一步一步思考, 首先,一开始是这样的 完成移动