赞
踩
- // 定义一个数组
- var arr = [1,2,3,4,5,6,7,8,9];
- // 输入一个数
- var num = 6;
- // 数组末端添加 num
- arr.push(num);
- // 升序
- arr.sort(function(a,b){return a-b})
- function fn(){
- var sum = 0;
- var k = 0;
- var newArr = [];
- // 先创建一个长度为30的数组
- var arr = new Array(30);
- // 遍历数组的每一位,准备设置内容
- for(var i=0;i<arr.length;i++){
- // 设置从2开始的偶数
- arr[i] = (i+1)*2;
- // 每填充一个数据,就累加起来
- sum += arr[i];
- // 再记录一次(修改独立计数器)
- k++;
- // 判断次数
- if(k%5 == 0){
- // 计算平均值,并将平均值放在一个新数组中
- newArr.push(sum / 5);
- // 重置sum的值
- sum = 0;
- }
- }
- // console.log(arr);
- return newArr;
- }
- var a = fn();
- console.log(a);
-
- var arr = [5,1,3,4,2];
- // 大循环,确定执行几行
- for(var i = 0;i<arr.length-1;i++){
- // 小循环,确定执行多少次
- for(var j = 0;j<arr.length-i-1;j++){
- // 开始判断,当前位置和后一位作比较,大的放后面
- if(arr[j]>arr[j+1]){
- var ls = arr[j];
- arr[j] = arr[j+1];
- arr[j+1] = ls;
- }
- }
- }
- var arr = [3,5,1,2,4];
- console.log(arr);
- for(var i = 0;i<arr.length-1;i++){
- // 假设第一位是最小值
- var iNow = arr[i];
- // 立即将假设最小值得位置,也存出来
- var iNowIndex = i;
- for(var j=i+1;j<arr.length;j++){
- // 假设验证第一位是最小值的正确性,不正确,就拿到比假设值还小的值
- if(iNow > arr[j]){
- iNow = arr[j];
- iNowIndex = j;
- }
- }
- // 小循环结束后,iNow必然是最小值,此刻数组还未发生变化
- var ls = arr[i];
- arr[i] =iNow;
- // 上面是将最小值放在第一位
- // 第一位原本的数据,放在原本最小值的位置
- arr[iNowIndex] = ls;
- }
- // 定义数组
- var a =[[],[],[],[],[]];
- // 创建循环,定义范围
- for(var i=0; i<25; i++){
- a[parseInt(i/5)].push(i+1);
- }
- // 打印数组
- console.log(a);
- // 左下半三角
- for(var i=0; i<a.length; i++){
- for(var j=0; j<i+1; j++){
- document.write(a[i][j] + " ");
- }
- document.write("<br>");
- }
第一种方式
- // 声明一个含有重复值的数组
- var arr = [2,2,7,3,4,5,5,3,2,6,8,9];
- //创建函数
- function norepeat(arr){
- //遍历数组
- for(var i = 0;i < arr.length;i++){
- //i分别于i+1和后面的依次进行比较
- for(var j = i + 1;j < arr.length;j++){
- //如果相等,删除j中的那个值
- if(arr[i]==arr[j]){
- arr.splice(j,1);
- //防止第三个及以后的重复的忽略而没有进行比较
- j--;
- }
- }
- }
- arr.sort(function(a,b){
- return a - b; // 升序排列
- })
- return arr;
- }
- var res = norepeat(arr);
- console.log(res);
第二种方式
- function norepeat(bArr){
- // 去重操作:数组的操作中非常具有代表性的一个
- // 需要有一个判断是否存在的功能:has
- var sArr = [];
- for(var i=0;i<bArr.length;i++){
- // 利用自己封装的判断数组中是否存在某个数据的功能
- // 判断sArr中,是否具有bArr[i]这个数据
- // 存在true,不存在false
- var qwe = has(sArr, bArr[i]);
- // 要的是不存在,要的是false,但是false放在if中就不执行了,所以要 非 一下
- if(!qwe){
- sArr.push(bArr[i]);
- }
- }
- return sArr;
- }
- var arr = [1,2,3,4,5,4,3,2,1,1,1];
- console.log(arr);
- var res = norepeat(arr);
- console.log(res);
- console.log(arr);
-
- // 判断数组中是否存在某个数据,存在true,不存在false
- function has(myarr,data){
- for(var i=0;i<myarr.length;i++){
- // 因为这里是循环,循环会执行多次,每次只判断一个
- if(myarr[i] === data){
- // 如果数据相同了,可以返回true,同时函数停止
- return true;
- }
- }
- return false;
- }
- // 1.length
- var arr = [1,2,3,4,5];
- arr[arr.length] = 666666;
- console.log(arr);
- // 2.push
- var arr1 = [1,2,3,4,5,];
- arr1.push(6666666);
- console.log(arr1);
- var str = 'abcdacd';
- for(var i=0;i<str.length;i++){
- //内层循环 需要统计 一个字符 在一个字符串中出现的次数
- console.log(str[i]+'统计字符出现的次数')
- var c = str[i];//在 str 出现的次数
- var times = charTimes(c,str);
- console.log(c+'出现的次数'+times);
- }
- //a abcdwe
- //统计c在str中出现的次数
- function charTimes(c,str){
- var times = 0;
- for(var i=0;i<str.length;i++){
- if(c == str[i]){
- times++;
- }
- }
- return times;
- }
第一种方式
- var str = 'a,a,b,c,c,d';
- //a 2
- //a 2
- // b 1
- //[a,a,b,c,c,d]
- //[a,b,c,d] 中的每个元素在str中出现的次数
- var arr = str.split(',')
- console.log(arr);
- norepeat(arr);
- console.log(arr);
- for(var i=0;i<arr.length;i++){
- //console.log(arr[i])
- console.log(arr[i]+charTimes(arr[i],str))
- }
第二种方式:
- // 统计次数
- var str = "a,a,b,c,c,d";
- // 结果以对象显示,对象需要手动创建
- var obj = {};
- // 循环是在取每一个字符
- for(var i=0;i<str.length;i++){
- // 将每一个字符都保存出来
- var attr = str[i];
- // 根据保存出来的字符,判断对象中是否具有这个属性(注意这个属性此时是变量的形式)
- // obj[attr]
- if(obj[attr]){
- // 如果不是第一次遇到,之前已经给了一个数字了,这时就不会false了,就可以累加了
- obj[attr]++
- }else{ // 如果没有这个属性,会拿到undefined,走到else,给她创建一个设置为1
- obj[attr] = 1;
- }
- }
- // 最终对象就是计数的结果
- console.log(obj);
-
- // 对象的key其实就是去重之后的结果
- var s = "";
- for(var suibianxiede in obj){
- s += suibianxiede;
- }
- console.log(s);
- // 先随机生成至少12个字符,然后,每种出现的次数都一样
- function rdmStr(){
- // 先生成随机的库:在库内,每种类型的个数都是一致的,保证将来的公平
- var str = "";
- for(var i=0;i<4;i++){
- var num = random(0,9);
- var az = String.fromCharCode(random(97,122));
- var AZ = String.fromCharCode(random(65,90));
- str = str + num + az + AZ;
- }
- // 再从随机生成的库中,随机取四个索引,拼接
- var randomStr = "";
- for(var i=0;i<4;i++){
- var index = random(0,str.length-1);
- randomStr += str[index];
- }
- // console.log(randomStr);
- return randomStr;
- }
- console.log(rdmStr());
- function random(a,b){
- return Math.round(Math.random()*(a-b)+b);
- }
- function fn(str){
- var c = parseInt((str.length+1)/2);
- for(var i=0;i<c;i++){
- // 1:最后1位
- // 2:倒数第二位
- if(str[i] !== str[str.length-1-i]){
- return false;
- }
- }
- return true;
- }
- // 1.设置敏感词库
- var arr = ["嗯","哦","啊"];
- // 2.得有一句话
- var str = "嗯嗯,我知道了啊,记得呢哦。";
- // replace不会修改原字符,每次替换之后,需要手动覆盖
- for(var i=0;i<arr.length;i++){
- for(var j=0;j<str.length;j++){
- str = str.replace(arr[i],"*");
- }
- }
- console.log(str);
- function dateDiff(date1,date2){
- var d1 = newDate(date1);
- var d2 = date2 ? new Date(date2) : new Date();
- // 最安全的做法是,获取时间戳,然后相减
- var t1 = d1.getTime();
- var t2 = d2.getTime();
-
- var time = Math.abs(t1 - t2);
- // 根据毫秒数,计算天,时,分,秒
- var tian = parseInt(time/1000/60/60/24);
- var shi = parseInt((time - tian*24*60*60*1000)/1000/60/60);
- var fen = parseInt((time - tian*24*60*60*1000 - shi*60*60*1000)/1000/60);
- var miao = parseInt((time - tian*24*60*60*1000 - shi*60*60*1000 - fen*60*1000)/1000);
-
- // 优化最终数据的拼接结果,想返回就返回,不想返回就直接打印
- console.log(tian);
- console.log(shi);
- console.log(fen);
- console.log(miao);
- }
- // dateDiff("2008,8,8 20:8:8", "1949,10,1,10:1:0");
- dateDiff("2020,2,23 20:8:8");
- <input type="text" id="txt" />
- <input type="button" id="btn" value="检测" />
- <span id="tips"></span>
- <script type="text/javascript">
- var txt = document.getElementById('txt');
- var btn = document.getElementById("btn");
- var tips = document.getElementById('tips');
- txt.oninput =function(){
- var str = txt.value;
- if(str.length >0){
- tips.innerHTML= '';
- //判断等级
- //假设没数字,循环遍历字符串,只要有一个数字,肯定含有数字
- var myNum = false;
- var myEn = false;
- var myOther = false;
- for(var i=0;i<str.length;i++){
- // 定义一个数组c
- var c = str[i];
- //可以直接按照编码比较两个字符
- // 判断是否有数字
- if(c >= '0' && c <= '9'){
- myNum = true;
- // 判断是否有小写字母
- }else if(c >= 'a' && c <= 'z'){
- myEn = true;
- // 判断是否有大写字母
- }else if(c >= 'A' && c <= 'Z'){
- myEn = true;
- // 判断是否有其他符号
- }else{
- myOther = true;
- }
-
- }
- // 创建一个点击事件函数
- var fn = function(){
- if(myNum && myEn && myOther ){
- tips.innerHTML = '高'
- }else if(myNum && !myEn && !myOther){
- tips.innerHTML = '低';
- }else if(!myNum && !myEn&& myOther){
- tips.innerHTML = '低';
- }else if(!myNum && myEn && !myOther){
- tips.innerHTML = '低';
- }else if(!myNum && myEn && myOther){
- tips.innerHTML = '中';
- }else if(myNum && !myEn && myOther){
- tips.innerHTML = '中';
- }else if(myNum && myEn && !myOther){
- tips.innerHTML = '中';
- }
- }
- }else if(str.length == 0){
- tips.innerHTML = '不允许输入空字符';
- }
- btn.onclick = fn;
- }
- var str = "0123456789abcdef";
- var res = "";
- for(var i=0;i<6;i++){
- //0-str.length
- var n = parseInt(Math.random()*str.length);
- res += str[n];
- }
- console.log("#" + res);
- function rdmStr(){
- // 先生成随机的库:在库内,每种类型的个数都是一致的,保证将来的公平
- var str = "";
- for(var i=0;i<6;i++){
- var num = random(0,9);
- var az = String.fromCharCode(random(97,122));
- str = str + num + az;
- }
- // 再从随机生成的库中,随机取6个索引,拼接
- var randomStr = "";
- for(var i=0;i<6;i++){
- var index = random(0,str.length-1);
- randomStr += str[index];
- }
- // console.log(randomStr);
- return randomStr;
- }
- console.log(rdmStr());
- // 先封装随机数函数
- function random(a,b){
- return Math.round(Math.random()*(a-b)+b);
- }
- // 点击开始,数字-1
- //当数字为0
- // 停止
- var timeout='10';
- var btn2 =document.getElementById("btn2");
- var countdown = function(){
- if (timeout <= 0){
- document.getElementById("btn1").value = '时间到';
- }
- if (timeout > 0){
- document.getElementById("btn1").value = '还有 '+timeout+' 秒';
- setTimeout('countdown()',1000);
- }
- timeout--;
- }
- btn2.onclick = countdown;
- // 打开页面之后,出现一个按钮,点击按钮,会出现一个
- // 三秒后,消失
- function hf(sel){
- return document.querySelector(sel);
- }
- //广告弹出自动关闭
- var box = document.getElementsByTagName('div')[0];
- console.log(box);
- //onclick of null/undefined
- var oSpan = hf('#show');
-
- box.style.display = 'none';
-
- var btn = document.getElementById('box1')
- btn.onclick =function(){
- box.style.display = 'block';
- clearInterval(timer)
- var count = 3;
- oSpan.innerHTML = count;
- var timer = setInterval(function(){
- count--;
- oSpan.innerHTML = count;
- if(count==0){
- box.style.display= 'none';
- clearInterval(timer)
- }
- },1000)
- }
- var btn = document.getElementById("btn");
- var box = document.getElementById("box");
- btn.onmouseover = function(){
- setTimeout (function(){
- box.style.display = "block";
- },2000)
- }
- btn.onmouseout = function(){
- setTimeout (function(){
-
- box.style.display = "none";
- },2000)
- }
- var ipts = document.getElementsByTagName('input')
- var addBtn = document.getElementById('add-btn')
- addBtn.onclick = function(){
- //创建第一个td
- var td1 = document.createElement('td');
- td1.innerHTML = ipts[0].value;
- //创建第二个td
- var td2 = document.createElement('td');
- td2.innerHTML = ipts[1].value;
- //创建第三个td
- var td3 = document.createElement('td');
- td3.innerHTML = ipts[2].value;
- //创建第四个td
- var td4 = document.createElement('td');
- td4.innerHTML = ipts[3].value;
- //创建tr
- var tr = document.createElement('tr');
- //把 td 加入tr
- tr.appendChild(td1);
- tr.appendChild(td2);
- tr.appendChild(td3);
- tr.appendChild(td4);
- //把tr 添加到 tab中
- var tab = document.getElementById('tab');
- tab.appendChild(tr);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。