JavaScript中set,map,array,object用法比较

array 与 set map比较

Map与Array对比

    let Map = new Map();
    let array = [];

    --------增--------
    map.set('t',1);
    array.push({t:1})

    --------查--------
    let map_exist = map.has('t') //返回Boolean
    let arr_exist = array.find(item => item.t) //返回值

    --------改--------
    map.set('t',2);   
    array.forEach((item) => {
        item.t ? item.t=2 : '' ;
    });
    --------删--------
    map.delect('t');
    let index = array.findIndex(item => item.t);
    array.splice(index,1);

    ======================

    SetArray对比

    let set = new Set();
    let array = [];

    --------增--------
    set.add({t:1});
    array.push({t:1});

    --------查--------
    let set_exist = set.has({t:1}); //查询之前要先保存成对象,查地址
    let arr_exist = array.find(item => item.t) //返回值

    --------改--------
    set.forEach(item => item.t ? item.t=2 : '' ); //如果是object先保存,然后修改对象
    array.forEach(item => item.t ? item.t=2 : '' );

    --------删--------
    set.forEach( item => item.t ? set.delect(item) : '' )
    let index = array.findIndex(item => item.t);
    array.splice(index,1);

Object set map 对比

let item = {t:1};
    let map = new Map();
    let set = new Set();
    let obj = {};

    --------增--------
    map.set('t',1);
    set.add(item);
    obj['t'] = 1;

    --------查--------
    map.has('t');
    set.has(item);
    't' in obj

    --------改--------
    map.set('t',2);
    item.t = 2;
    obj['t'] = 2;

    --------删--------
    map.delete('t')
    set.delete(item);
    delte obj('t')

数据结构,能使用map不使用数组
对数据要求高,保证每个数据的唯一性,使用set

优先使用map和set放弃传统的数组和object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值