js笔记

1.克隆对象

克隆数组:

var country=['中国','美国'];
var copyCountry=country.slice(0);

克隆对象:

var people={sex:'man',age:4};
var me=JSON.parse(JSON.stringify(people));

2.随机数

从数组中随机取n个不重复的元素

 function getRandomArrayElements(arr, count) {
        var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
        while (i-- > min) {
            index = Math.floor((i + 1) * Math.random());
            temp = shuffled[index];
            shuffled[index] = shuffled[i];
            shuffled[i] = temp;
        }
        return shuffled.slice(min);
    }

 3.回车代替点击

    <button id="btnStart">开始</button>
<script>
    $(function () {     
        $("body").keypress(function (e) {      
            if (e.which == 13)
            {
                $("#btnStart").focus().click();
            }
        });

        $("#btnStart").click(function () {
            alert("我被点击了");
        });
    });

 4.数组倒序

var a, l;  
a = new Array(0,1,2,3,4);  
l = a.reverse();

5.获取客户端时间标准格式

function CurentTime()
    { 
        var now = new Date();
       
        var year = now.getFullYear();       //年
        var month = now.getMonth() + 1;     //月
        var day = now.getDate();            //日
       
        var hh = now.getHours();            //时
        var mm = now.getMinutes();          //分
        var ss = now.getSeconds();           //秒
       
        var clock = year + "-";
       
        if(month < 10)
            clock += "0";
       
        clock += month + "-";
       
        if(day < 10)
            clock += "0";
           
        clock += day + " ";
       
        if(hh < 10)
            clock += "0";
           
        clock += hh + ":";
        if (mm < 10) clock += '0'; 
        clock += mm+":"; 
        
        if(ss<10) clock+='0';
        clock+=ss;
        
        return(clock); 
    } 

格式为:yyyy-MM-dd HH:mm:ss

6.获取Url参数

function tb_parseQuery(query) { var Params = {}; if (!query) { return Params; }// return empty object var Pairs = query.split(/[;&]/); for (var i = 0; i < Pairs.length; i++) { var KeyVal = Pairs[i].split('='); if (!KeyVal || KeyVal.length != 2) { continue; } var key = unescape(KeyVal[0]); var val = unescape(KeyVal[1]); val = val.replace(/\+/g, ' '); Params[key] = val; } return Params; }

var getJsonObj = tb_parseQuery(location.href);

getJsonObj.out_trade_no

 7.将数字类型保留2位小数

function changeTwoDecimal_f(x) { 
var f_x = parseFloat(x); 
if (isNaN(f_x)) { 
alert('function:changeTwoDecimal->parameter error'); 
return false; 
} 
f_x = Math.round(f_x * 100) / 100; 
var s_x = f_x.toString(); 
var pos_decimal = s_x.indexOf('.'); 
if (pos_decimal < 0) { 
pos_decimal = s_x.length; 
s_x += '.'; 
} 
while (s_x.length <= pos_decimal + 2) { 
s_x += '0'; 
} 
return s_x; 
} 

 8.数组去除重复

var unique = function(arr) {
var result = [], json = {};
for (var i = 0, len = arr.length; i < len; i++){
if (!json[arr[i]]) {
json[arr[i]] = 1;
result.push(arr[i]); //返回没被删除的元素
}
}
return result;
};

 9.字符串按照字符拆分放进数组

var a=Array.prototype.join.call('hello', '-');
var b=a.split("-")

 10.从一个数组里面随机取N个元素

  ///从一个数组中随机取n个元素
    function getRandomArrayElements(arr, count) {
        var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
        while (i-- > min) {
            index = Math.floor((i + 1) * Math.random());
            temp = shuffled[index];
            shuffled[index] = shuffled[i];
            shuffled[i] = temp;
        }
        return shuffled.slice(min);
    }

 11.将一个数组随机排序

 function arrayRandom() {
                array = array.length ? array : array1;
                var l = array.length;
                array1 = [];
                while (l) {
                    var rd = parseInt(Math.random() * l);
                    temp = array[rd];
                    array[rd] = array[l - 1];
                    array[l - 1] = temp;
                    array1.push(temp);
                    array.pop();
                    l -= 1;
                }
                array = array1;
            }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

Roslyn NameSyntax 的 ToString 和 ToFullString 的区别

本文告诉大家经常使用的 NameSyntax 拿到值的 ToString 和 ToFullString 方法的区别

12120
来自专栏salesforce零基础学习

salesforce零基础学习(七十七)队列的实现以及应用

 队列和栈简单的区别为栈是后进先出,队列是先进先出。队列也是特殊的线性表,所以队列也分为顺序存储结构和链式存储结构。本篇主要描述顺序存储结构。 我们先假定一个队...

21350
来自专栏vue学习

underscore.js源码解析2

undefined派生自null,所以两者相等(==),但是不全等(===),所以这里如果obj是undefined则会返回false。

13050
来自专栏ACM算法日常

整除的尾数(整除问题) - HDU 2099

最近在写POJ 2449,暂时还没写完,目前上卷的题目基本都涉及到了,后面会接着加强,特别是动态规划方面的题目,因为比较灵活也比较难。

8310
来自专栏海纳周报

synchronized关键字的语义

上一篇文章,我们讲到,如果发生了多个线程共同访问一个全局变量的时候,就会发生各种意料之外的情况。其实现实生活中有很多这样的例子。我举一个例子。 一群人都要过河,...

38470
来自专栏开发与安全

《linux c 编程一站式学习》课后部分习题解答

1、假设变量x和n是两个正整数,我们知道x/n这个表达式的结果要取Floor,例如x是17,n是4,则结果是4。如果希望结果取Ceiling应该怎么写表达式呢?...

46960
来自专栏java学习

面试题51(关于抽象类与接口的掌握)

(单选题)5、A是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明: 1. A a0=new A(); 2. A...

28540
来自专栏偏前端工程师的驿站

一起Polyfill系列:让Date识别ISO 8601日期时间格式

一、什么是ISO 8601日期时间格式   ISO 8601是国际标准化组织制定的日期时间表示规范,全称是《数据存储和交换形式·信息交换·日期和时间的表示方法》...

39470
来自专栏二进制文集

JDK源码分析 异常

对于JDK源码分析的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。所以我的JDK源码分析,着重在JDK的体系架构层面,具体源...

28540
来自专栏一枝花算不算浪漫

[Java Collection]List分组之简单应用.

34550

扫码关注云+社区

领取腾讯云代金券