zoukankan      html  css  js  c++  java
  • Array常用函数收藏

    1.isArray

    语法:Array.isArray(obj)

    说明:判断一个对象是否是数组。

    例如:

    Array.isArray([]);
    Array.isArray([1]);
    Array.isArray(new Array());
    // Little known fact: Array.prototype itself is an array:
    Array.isArray(Array.prototype); 
    
    // all following calls return false
    Array.isArray();
    2.concat
    语法:var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
    说明:把多个数组串联成一个新数组
    例如:
    var alpha = ['a', 'b', 'c'];
    var numeric = [1, 2, 3];
    alpha.concat(numeric);
    // result in ['a', 'b', 'c', 1, 2, 3]
    3.every
    语法:arr.every(callback[, thisArg])
    说明:测试是否数组中所有的元素都满足测试条件
    例如:
    function isBigEnough(element, index, array) {
      return element >= 10;
    }
    [12, 5, 8, 130, 44].every(isBigEnough);   // false
    [12, 54, 18, 130, 44].every(isBigEnough); // true

    4.filter

    语法:var newArray = arr.filter(callback[, thisArg])

    说明:过滤满足条件的元素
    例如:
    function isBigEnough(value) {
      return value >= 10;
    }
    
    var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
    // filtered is [12, 130, 44]

    5.find

    语法:arr.find(callback[, thisArg])

    说明:查找数组中满足条件的第一个元素
    例如:
    function isBigEnough(element) {
      return element >= 15;
    }
    
    [12, 5, 8, 130, 44].find(isBigEnough); // 130

    6.findIndex

    语法:arr.findIndex(callback[, thisArg])

    说明:查找满足条件的第一个元素的索引

    例如:

    function isBigEnough(element) {
      return element >= 15;
    }
    
    [12, 5, 8, 130, 44].findIndex(isBigEnough); // 3rd element in the Array is returned, it will result in '130'
    7.includes
    语法:
    arr.includes(searchElement)
    arr.includes(searchElement, fromIndex)
    说明:判断数组是否包含指定的元素,第二个参数表示从哪个索引开始查询
    例如:
    [1, 2, 3].includes(2);     // true
    [1, 2, 3].includes(4);     // false
    [1, 2, 3].includes(3, 3);  // false
    [1, 2, 3].includes(3, -1); // true
    [1, 2, NaN].includes(NaN); // true

    8.indexOf

    语法:

    arr.indexOf(searchElement)
    arr.indexOf(searchElement, fromIndex)
    说明:查询元素在数组中的索引位置,如果不在数组中,返回-1
    例如:
    var array = [2, 9, 9];
    array.indexOf(2);     // 0
    array.indexOf(7);     // -1
    array.indexOf(9, 2);  // 2
    array.indexOf(2, -1); // -1
    array.indexOf(2, -3); // 0
    9.join
    语法:
    arr.join()
    arr.join(separator)
    说明:把数组通过自定的连接符串联成一个字符串,separator默认为“,”
    例如:
    var a = ['Wind', 'Rain', 'Fire'];
    a.join();    // 'Wind,Rain,Fire'
    a.join('-'); // 'Wind-Rain-Fire'

    10.lastIndexOf

    语法:

    arr.lastIndexOf(searchElement)
    arr.lastIndexOf(searchElement, fromIndex)
    说明:返回能在数组中查到元素的最后的一个索引,查询不到返回-1
    例如:
    var numbers = [2, 5, 9, 2];
    numbers.lastIndexOf(2); // 3
    numbers.lastIndexOf(7); // -1
    11.map

    语法:var new_array = arr.map(callback[, thisArg])

    说明:根据提供函数的公式返回一个新数组

    例如:

    var numbers = [1, 4, 9];
    var roots = numbers.map(Math.sqrt);
    // roots is now [1, 2, 3]
    // numbers is still [1, 4, 9]

    12.pop

    语法:arr.pop()

    说明:从数组中移出最后一个元素,并返回该元素

    例如:

    var a = [1, 2, 3];
    a.pop();
    
    console.log(a); // [1, 2]

    13.reverse

    语法:a.reverse()

    说明:将数组倒序排列

    例如:

    var a = ['one', 'two', 'three'];
    a.reverse(); 
    
    console.log(a); // ['three', 'two', 'one']
    14.shift

    语法:arr.shift()

    说明:从数组中移出第一个元素,并返回该元素

    例如:

    var a = [1, 2, 3];
    var b = a.shift();
    
    console.log(a); // [2, 3]
    console.log(b); // 1
    15.slice

    语法:

    arr.slice()
    arr.slice(begin)
    arr.slice(begin, end)
    说明:从数组指定的位置深拷贝数组并返回新数组,end表示拷贝结束的索引位置,但不包含end数字
    例如:
    var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
    var citrus = fruits.slice(1, 3);
    
    // fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
    // citrus contains ['Orange','Lemon']

    16.sort

    语法:

    arr.sort()
    arr.sort(compareFunction)
    说明:按指定的函数规则排序,默认是按照字符串的unicode编码排序。如果a小于b,a在b之前,如果a大于b则a在b之后,如果a等于b则a在b之前并且相邻。
    function compare(a, b) {
      if (a is less than b by some ordering criterion) {
        return -1;
      }
      if (a is greater than b by the ordering criterion) {
        return 1;
      }
      // a must be equal to b
      return 0;
    }
    例如:
    var numbers = [4, 2, 5, 1, 3];
    numbers.sort(function(a, b) {
      return a - b;
    });
    console.log(numbers);
    
    // [1, 2, 3, 4, 5]

    17.splice

    语法:

    array.splice(start)
    array.splice(start, deleteCount)
    array.splice(start, deleteCount, item1, item2, ...)
    说明:通过移除或者增加一些元素而改变数组。start表示改变数组的起始索引,deleteCount表示移除元素的个数,item1...itemn表示在start之后新增的元素
    例如:
    //从索引2移除0个元素并插入一个元素
    ar myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(2, 0, 'drum');
    
    // myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"] 
    // removed is [], no elements removed
    //从所以2移除1个元素
    var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(3, 1);
    
    // removed is ["mandarin"]
    // myFish is ["angel", "clown", "drum", "sturgeon"]
    18.unshift

    语法:arr.unshift([element1[, ...[, elementN]]])

    说明:增加一个或者若干个元素到数组的开始位置

    例如:

    var a = [1, 2, 3];
    a.unshift(4, 5);
    
    console.log(a); // [4, 5, 1, 2, 3]
  • 相关阅读:
    验证整数 Double 转 int 两种写法
    0 can't find referenced pointcut declarePointExpress
    nested exception is java.lang.IllegalArgumentException: Pointcut is not well-formed
    org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML doc
    嵌入式系统(胡威)2019年春第一次作业 参考答案
    PAT(B) 1021 个位数统计(Java)
    PAT(B) 1020 月饼(Java)
    PAT(B) 1019 数字黑洞(Java)
    PAT(B) 1018 锤子剪刀布(C:20分,Java:18分)
    PAT(B) 1017 A除以B(Java)
  • 原文地址:https://www.cnblogs.com/w-wanglei/p/6535204.html
Copyright © 2011-2022 走看看