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);

 

posted on   sss大辉  阅读(925)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示