es6 语法 (map、set和array 的对比)

//数据结构对比 增查改删

{
    //map和array对比

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

    //
    map.set('t',1);
    array.push({t:1});
    console.info('map-array',map,array) //{"t"=>1};-[0:{t:1}]

    //
    let map_exist = map.has('t');
    let array_exist = array.find(item=>item.t);//true
    console.info('exist',map_exist,array_exist);//{t:1}

    //
    map.set('t',2);
    array.forEach(item=>item.t?2:'');
    console.info('map-array-modify',map,array);//{"t"=>2};0:{t: 1}

    //
    map.delete('t');
    let index = array.findIndex(item=>item.t);
    array.splice(index,1);
    console.info('map-array-empty',map,array);//{};[]
}

{

    //set和array对比
    let set = new Set();
    let array = [];

    //
    set.add({'t':1});
    array.push({t:1});
    console.info('set-array',set,array);//0:value{t:1};0:{t: 1}

    //
    let set_exist = set.has({t:1});
    let array_exist = array.find(item=>item.t);
    console.info('exist',set_exist,array_exist);//false;{t:1};

    //
    set.forEach(item=>item.t?item.t=2:'');
    array.forEach(item=>item.t?item.t=2:'');
    console.info(set,array);//0:value{t:2};0:{t: 2}

    //
    set.forEach(item=>item.t?set.delete(item):'');
    let index = array.findIndex(item=>item.t);
    array.splice(index,1);
    console.info('set-array-empty',set,array);//{};[]

}
原文地址:https://www.cnblogs.com/Byme/p/7707296.html