zoukankan      html  css  js  c++  java
  • js里的实用小技巧

    1.数组去重

    说到数组去重肯定,你脑海里闪过很多的方法,但是往往这些的时间复杂度都是偏高的,比较不合理的

    这里介绍用indexOf()来去重,就很实用

     var arr=[1,2,3,2,21,1,2,4,1,2];
        var newarr=[];
        for (var i=0;i<arr.length;i++) {
            if(newarr.indexOf(arr[i])===-1){
                if(typeof(arr[i])=='number'){
                    newarr.push(arr[i]);
                }    
            }
        }
        console.log(newarr);

    2.说到循环,一个优秀的开发真的不能仅仅想到for循环,因为有的时候操作for循环也会有不便的时候

    对于对象循环,用for...in比较好,两种比较

    var obj={
            s:123,
            osa:'asdasd',
            as:'666',
        }
        for(o in obj){
            console.log(o);
            console.log(obj[o]);
        }

    对于数组循环呢,我个人不怎么推荐用for...in,而是用for...of比较好感觉,两者在数组的对比

    var newarr=[1,2,4,5,7,8];
    for
    (a in newarr){ console.log(newarr[a]); } for (a of newarr){ console.log(a); }

    对了,说到循环,不得不说一说foreach这个东西了,这个我个人觉得操作数组挺方便的,对象还行吧

    forEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身

    var newarr=[1,2,4,5,7,8];
    newarr.forEach(function(v){  
        console.log(v);  
    });

    对象的话,则要:

    var obj={
            s:123,
            osa:'asdasd',
            as:'666',
        }
        Object.keys(obj).forEach(function(v){  
            console.log(v,obj[v]);  
        });

    在对象里常用的是在里修改,增加属性,如:这样在每个对象都加上state为0了

    for (var i = 0; i < this.images.length; i++) {
        this.images.forEach((ele) => {
        ele.state = 0;
        });
    }

    字符串转换成对象:
    object = JSON.parse(str);
    对象转换成字符串:
    str=JSON.stringify(object);

  • 相关阅读:
    IO多路复用--epoll(待学习)
    网络信息检索
    TCP协议的客户端与服务器的通信过程
    UDP网络编程
    HDU_oj_2017 字符串统计
    HDU_oj_2016 数据的交换输出
    HDU_oj_2015 偶数求和
    HDU_oj_2014 评委会打分
    HDU_oj_2013 蟠桃记
    HDU_oj_2012 素数判定
  • 原文地址:https://www.cnblogs.com/ssszjh/p/10185983.html
Copyright © 2011-2022 走看看