tips javascript(一)

实现type函数用于识别标准类型和内置对象类型,语法如下: var t = type(obj);
function type(o){
    if (o === null)
        return 'null';
    if (typeof o !== 'object')
        return typeof o;
    if (o instanceof Number)
        return 'number'
    if (o instanceof String)
        return 'string'
    if (o instanceof Date)
        return 'date';
    if (o instanceof Array)
        return 'array';
    if (o instanceof RegExp)
        return 'regexp';
    return 'object';
     
}

已知一数组,如何筛选出该数组中小于该数组平均数的值,并存入另一个数组
            var arr = [1, 11, 33, 44, 55, 2, 11, 1, 1, 1];
            //计算数组的平均值
            var sum = 0;
            for(var i=0,il=arr.length;i<il;i++){
                sum = sum + arr[i];
            }
            console.log(sum);
            sum = sum / il;
            console.log(sum);
            //取出不同的值
            var newArr1 = [] , str = {};
            for(var i=0,il=arr.length;i<il;i++){
                var item = arr[i];
                var key = typeof(item) + item;
//                console.log(key);
                if(str[key] !== 1){
                    newArr1.push(item);
                    str[key] = 1;
                }
            }
            var arr1 = newArr1;
            console.log(arr1);
            //将小于平均数的值取出来,赋值给一个新数组
            var newArr2 = [];
            for(var i=0,il=arr1.length;i<il;i++){
                if(arr[i]<sum){
                    newArr2.push(arr[i]);
                }
            }
            console.log(newArr2);
            //用冒泡排序方法对数组进行排序
            for(var i=0,il=newArr2.length;i<il;i++){
                for(var j=0,jl=newArr2.length;j<jl;j++){
                    if(newArr2[i]<newArr2[j]){
                        var temp = newArr2[i];
                        newArr2[i] = newArr2[j];
                        newArr2[j] = temp;
                    }
                }
            }
            console.log(newArr2);

tips javascript(一)的更多相关文章

  1. [Tips] JavaScript 使用hash 对象传参

    转自Web 前端开发修炼之道. 在JavaScript 中funciton 包含多个参数的时候,我们想要实现可选参数的功能,传很多个null 其实是个很讨厌的事情,这个时候就可以使用这个技巧. 具体见 ...

  2. [Tips + Javascript] Make a unique array

    To make an array uniqued, we can use Set() from Javascript. const ary = ["a", "b" ...

  3. Tips:javascript 图片放大和取得尺寸

    1)获取图片尺寸 <img src="http://img.my.csdn.net/uploads/201309/03/1378223257_7957.jpg" alt=&q ...

  4. tips: javascript 参数传递含有空格怎么办?

    js 方法传参有时候会遇到空格,空格会报错,因为它会默认空格后是元素 解决方法就是使用 escape 和 unescape html: var title = escape(rowObject.tit ...

  5. JavaScript篇 深入理解JavaScript函数

    JavaScript中的函数 1. 函数的定义 两种定义形式: 通过函数定义表达式来定义 通过函数声明语句来定义 函数声明语句定义一个函数 //计算阶乘的递归函数 function factorial ...

  6. JavaScript 对象创建

    tips: JavaScript 除了null和undefined之外,其他变量都可以当做对象使用. JavaScript 的基本数据类型有:number boolean string null  u ...

  7. ARTS Week 14

    Jan 27, 2020 ~ Feb 2, 2020 Algorithm Problem 160.Intersection of Two Linked Lists(相交链表) 题目链接 题目描述:给定 ...

  8. ARTS Week 13

    Jan 20, 2020 ~ Jan 26, 2020 Algorithm Problem 141 Linked List Cycle (环形链表) 题目链接 题目描述:给定一个链表,判断链表中是否存 ...

  9. vue3响应式模式设计原理

    vue3响应式模式设计原理 为什么要关系vue3的设计原理?了解vue3构建原理,将有助于开发者更快速上手Vue3:同时可以提高Vue调试技能,可以快速定位错误 1.vue3对比vue2 vue2的原 ...

随机推荐

  1. ubuntu安装gitlab

    #安装所有的依赖包 sudo apt-get install -y build-essential git-core sudo apt-get install -y zlib1g-dev libyam ...

  2. AsyncTask实现断点续传

    之前公司里面项目的下载模块都是使用xUtils提供的,最近看了下xUtils的源码,它里面也是使用AsyncTask来执行异步任务的,它的下载也包含了断点续传的功能.这里我自己也使用AsyncTask ...

  3. Entity Framework 6.x Code Frist For Oracle 实践与注意点

    Entity Framework 6.x Code Frist For Oracle 实践与注意点 开发环境 Visual Studio.net 2015/2017 Oracle 11g/12c 数据 ...

  4. jackson readTree

    String jsonstr = "{\"msg\":{\"head\":{\"version\":\"1.0\&quo ...

  5. java项目中读取properties文件

    这里的配置文件都放在src下面, System.properties的内容 exceptionMapping=exceptionMapping.properties config=config.pro ...

  6. 使用jQuery页面加载函数启动定时任务

    var timer; $(document).ready(function(){ if (timer == undefined) timer = window.setInterval(showTime ...

  7. 如何配置ssh免密码登录

    [TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...

  8. CvMat 矩阵的使用方法和简单程序

    一:CvMat* cvInitMatHeader( CvMat* mat, int rows, int cols, int type,void* data=NULL, int step=CV_AUTO ...

  9. C# 调用百度地图Web服务API

    最近公司项目中需要根据两个地点的交通路径和距离做一些数据推荐,为了程序的稳定和用户体验所以想从百度地图 API 采集数据保存到数据库中,经过一翻研究之后选定了百度地图 Web 服务 API 中的 Di ...

  10. 用 Wireshark 图解:TCP 三次握手

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “snow warn throughout the winter” 一.什么是 Wireshar ...