zoukankan      html  css  js  c++  java
  • 数组

    数组

    1. isArray

    用来判断一个值是否为数组,返回结果为true或false

    var a = [1, 2, 3];
    
    typeof a // "object"
    Array.isArray(a) // true
    

    2. valueOf

    valueOf方法返回数组本身。

    3. toString

    返回数组的字符串形式。

    var a = [1, 2, 3];
    a.toString() // "1,2,3"
    
    var a = [1, 2, 3, [4, 5, 6]];
    a.toString() // "1,2,3,4,5,6"
    

    4. push

    在数组的末端添加一个或多个元素,返回添加后的数组的长度。

    var a = [];
    
    a.push(1) // 1
    a.push('a') // 2
    a.push(true, {}) // 4
    a // [1, 'a', true, {}]
    

    5. pop

    删除数组的最后一个元素,并返回该元素。

    var a = ['a', 'b', 'c'];
    
    a.pop() // 'c'
    a // ['a', 'b']
    

    6. join

    以参数作为分隔符,将所有数组成员组成一个字符串返回。

    var a = [1, 2, 3, 4];
    
    a.join() // "1,2,3,4"
    a.join('') // '1234'
    a.join("|") // "1|2|3|4"
    

    7. concat

    用于多个数组的合并,添加到原数组的尾部,然后返回一个新数组。

    ['hello'].concat(['world'], ['!'])
    // ["hello", "world", "!"]
    
    [1, 2, 3].concat(4, 5, 6)
    // [1, 2, 3, 4, 5, 6]
    

    var arr = [1,2,3];
    var arr1 = [4,5,6];
    var newArr = [...arr,...arr1];(ES6中的spread解构)
    

    8. shift

    删除数组的第一个元素,并返回该元素。

    var a = ['a', 'b', 'c'];
    
    a.shift() // 'a'
    a // ['b', 'c']
    

    可以遍历并清空一个数组。

    var list = [1,2,3,4,5,6,7,8,9,10];
    
    var item;
    
    while (item = list.shift()) {
        console.log(item);
    }
    
    list // []
    

    清空数组还可以使用

    list.length = 0
    

    9. unshift

    删除数组的第一个元素,并返回该元素。

    var a = ['a', 'b', 'c'];
    
    a.shift() // 'a'
    a // ['b', 'c']
    

    10. reverse

    颠倒数组中元素的顺序,返回改变后的原数组。

    var a = ['a', 'b', 'c'];

    a.reverse() // ["c", "b", "a"] a // ["c", "b", "a"]

    11. slice

    提取原数组的一部分,返回一个新数组,原数组不变。 它的第一个参数为起始位置(数组索引),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个元素。

    var a = ['a', 'b', 'c'];
    
    a.slice(1,2) // ["b"]
    a.slice(1) // ["b", "c"]
    a.slice(0) // ["a","b","c"]
    a.slice(-2) // ["b", "c"]
    a.slice(4) // []
    a.slice(2, 6) // ["c"]
    a.slice(2, 1) // []
    

    12. splice

    删除原数组的一部分元素,并可以在被删除的位置添加入新的元素。它的返回值是被删除的元素。该方法会改变原数组。

    // 格式
    arr.splice(start_index, count_to_remove, addElement1, addElement2, ...);
    
    // 用法
    var a = ["a","b","c","d","e","f"];
    
    a.splice(4,2)
    // ["e", "f"]
    
    a
    // ["a", "b", "c", "d"]
    

    13. indexOf 和 lastIndexOf

    返回某个指定的子字符串在原字符串中首次出现的位置(也可以对数组使用)。indexOf是从头开始匹配,lastIndexOf是从末尾匹配(即最后一次出现的位置)。返回值为-1时,代表原字符串中没有该指定的子字符串。

    "hello world".indexOf("o") // 4
    "hello world".lastIndexOf("o")// 7
    

    ES5新加入的数组方法

    1. map

    对数组的所有元素依次调用一个函数,根据函数结果返回一个新数组。(元素组不改变)

    var numbers = [1, 2, 3];
    
    numbers.map(function(n) { return n+1 });
    // [2, 3, 4]
    
    numbers
    // [1, 2, 3]
    

    2. forEach

    与map方法很相似,也是遍历数组的所有元素,执行某种操作,但没有返回值

    var arr = [1, 2, 3, 4, 5, 6, 7];
    arr.forEach(function(ele) {
        console.log(ele);
    })
    

    3. filter

    依次对所有数组成员调用一个测试函数,返回结果为true的元素组成一个新数组返回。

    var arr = [1, 2, 3, 4, 5, 6, 7];
    console.log(arr.filter(function(elem) {
        return elem % 2 === 0;
    })) //[2,4,6]
  • 相关阅读:
    阿里云-Redis-Help-最佳实战:将MySQL数据迁移到Redis
    阿里云-Redis-实战场景:互联网类应用
    阿里云-Redis-实战场景:电商行业类应用
    术语-计算机-性能:RT
    术语-计算机-性能:并发数
    术语-计算机-性能:TPS
    术语-计算机-性能:QPS
    阿里云-Redis-实战场景:游戏服务类应用
    阿里云-Redis-实战场景:视频直播类应用
    文章-依赖注入:《Inversion of Control Containers and the Dependency Injection pattern》
  • 原文地址:https://www.cnblogs.com/justsilky/p/6886593.html
Copyright © 2011-2022 走看看