es6 语法 (mapset和array 的对比)

Posted 小角色Byme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6 语法 (mapset和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);//{};[]

}

 

以上是关于es6 语法 (mapset和array 的对比)的主要内容,如果未能解决你的问题,请参考以下文章

ES6mapset与数组和对象的比较

[JavaScript语法学习]全面介绍对象

es6 语法 (Proxy和Reflect 的对比)

ES6中新增的数组知识记录

JavaScript学习记录day4-MapSet和iterable

ES6新增语法 + 内置对象扩展 + 箭头函数