Yang03 / blog

0 stars 0 forks source link

Array常用API #5

Open Yang03 opened 8 years ago

Yang03 commented 8 years ago

js Array api

Array.isArray() 方法用来判断某个值是否为数组。如果是,则返回 true,否则返回 false。

    Array.isArray(value)

polyfill

    if(!Array.isArray) {
        Array.isArray = function(arg) {
            return Object.prototype.toString.call(arg) === '[object Array]'
        }
    }

Array.concat 将传入的数组或非数组值与原数组合并,组成一个新的数组并返回.

    [1, 2, 4].concat(['a', 'b']) //[1, 2, 4]

every(callback[, thisArg]) 方法测试数组的所有元素是否都通过了指定函数的测试。 返回布尔值

    function isBigEnough(element, index, array) {
        return (element >= 10);
    }
    var passed = [12, 5, 8, 130, 44].every(isBigEnough);
    // passed is false
    passed = [12, 54, 18, 130, 44].every(isBigEnough);
    // passed is true

filter(callback[, thisArg]) 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。

    function isBigEnough(element, index, array) {
        return (element >= 10);
    }
    var passed = [12, 5, 8, 130, 44].filter(isBigEnough);
    // [12, 130, 44]

array.forEach(callback[, thisArg]) 方法让数组的每一项都执行一次给定的函数。返回undefined

array.indexOf()方法 返回根据给定元素找到的第一个索引值,否则返回-1。

array.lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。

array.join() 方法将数组中的所有元素连接成一个字符串。

    [1, 2, 3].join(',') // "1,2,3"

array.map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

  [1, 2, 3].map(Math.sqrt) //[1, 4, 9]

array.pop() 方法删除一个数组中的最后一个元素,并且把这个删除掉的元素返回给调用者

array.shift() 方法删除数组的 第一个 元素,并返回这个元素。

array.push() 方法添加一个或多个元素到数组的末尾,并返回数组新的长度(length 属性值)。

array.unshift() 要添加到数组开头的元素。当一个对象调用该方法时,返回其 length 属性值。

array.reverse() 方法颠倒数组中元素的位置。

array.slice() 方法把数组中一部分的浅复制(shallow copy)存入一个新的数组对象中,并返回这个新的数组。

array.sort() 方法对数组的元素做原地的排序,并返回这个数组。

array.splice() 方法用新元素替换旧元素,以此修改数组的内容。

    var myFish = ["angel", "clown", "mandarin", "surgeon"];
    //从第 2 位开始删除 0 个元素,插入 "drum"
    var removed = myFish.splice(2, 0, "drum");
    // myFish:["angel", "clown", "drum", "mandarin", "surgeon"]

array.reduce(callback,[initialValue])

参数

callback 执行数组中每个值的函数,包含四个参数 previousValue 上一次调用回调返回的值,或者是提供的初始值(initialValue) currentValue 数组中当前被处理的元素 index 当前元素在数组中的索引 array 调用 reduce 的数组