• JavaScript中的Array和Map集合对象 (遍历Array和Map)


    JavaScript中的Array和Map集合对象

    1.Array

    用于在单个变量中存储多个值

    • 创建
    new Array();
    new Array(size);
    new Array(element0, element1, ..., elementn);
    
    • 长度
    arr.length;设置或返回数组中元素的数目。
    
    • 赋值
    var arr = new Array();
    arr[0] = '555';
    arr[1] = '666';
    
    • 遍历
    arr.forEach(
        function(a){
        	document.write(a);
        }
    );
    
    for(var i = 0;i<arr.length;i++){
        document.write(arr[i]);
    }
    
    for (var index in arr) {
        document.write(index);//index为集合下标
    }
    
    for (var value of arr) {
        document.write(value);//value为集合元素
    } 
    
    • 常用方法
    方法 描述
    concat() 连接两个或更多的数组,并返回结果。
    join(',') 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔(默认使用 ',')。
    pop() 删除并返回数组的最后一个元素
    push() 向数组的末尾添加一个或更多元素,并返回新的长度。
    reverse() 颠倒数组中元素的顺序。
    sort() 排序
    toString() 把数组转换为字符串,并返回结果,元素之间使用‘,隔开’。
    unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
    indexOf('tt') 判断集合中是否有‘tt’,如果有返回下标,没有返回-1

    2.Map集合

    存放键值对集合

    • 创建
    var map = new Map();
    var map = new Map([['dd','123'],['cc',666]]);
    
    • 长度
    map.size;
    
    • 赋值
    map.put();
    
    • 遍历
    for(var key_value of map){
        console.log(key_value);//返回一个数组['key','value']
    }
    // ["dd", "123"]
    //["cc", 666]
    
    for(var key_value of map.values()){
        console.log(key_value);//遍历属性值
    }
    //123
    //666
    
    for(var key_value of map.entries()){
        console.log(key_value);//
    }
    //["dd", "123"]
    //["cc", 666]
    
    map.forEach(
        function(value,key,m){
            console.log(key,value);//m是遍历的map对象 {"dd" => "123", "cc" => 666}
        }
    );
    //dd 123
    //cc 666
    
    • 常用方法
    方法 说明
    clear() 清空map集合
    delete('key') 删除元素
    get('key') 返回指定key的value,不存在返回undefined
    has('key') map中是否包含键对应的值,如果包含返回true
    set('key',value); 设置map中的值,返回该map
    keys() 按插入顺序返回所有的key
    values() 按插入顺序返回所有的value

    3.JavaScript对象

    var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
    person.key1 = "aaa";//向对象添加新的属性
    person.key2 = "bbb";
    person.key3 = "ccc";
    person['key4'] = "ddd";
    person['key5'] = "eee"; 
    //遍历
    for(var key in person){
        console.log(key);
    }
    //注意! 这种map不能使用for(var value of map)遍历
    console.log(person.hasOwnProperty('key1'));
    
    • 访问对象属性
    person.key1;
    person['key1']
    
    • 删除对象属性
    delete person.age;
    
  • 相关阅读:
    LeetCode 516. Longest Palindromic Subsequence
    LeetCode 432. All O`one Data Structure
    LeetCode 450. Delete Node in a BST
    LeetCode 460. LFU Cache
    LeetCode 341. Flatten Nested List Iterator
    LeetCode 381. Insert Delete GetRandom O(1)
    LeetCode 380. Insert Delete GetRandom O(1)
    LintCode Coins in a Line III
    LintCode Coins in a Line II
    LintCode Coins in a Line
  • 原文地址:https://www.cnblogs.com/dch0/p/11430974.html
Copyright © 2020-2023  润新知