Arrary操作

文章目录
  1. 1. Arrary
    1. 1.0.1. 什么是数组(Array)
    2. 1.0.2. 创建数组方式
    3. 1.0.3. 数组方法
    4. 1.0.4. 数组方法详解

Arrary

什么是数组(Array)

数组就是一组数据的集合
单一变量中存储多个值

创建数组方式

1
2
3
4
5
6
7
8
9
var arr = new Array();
var arr = new Array([size]); //指定长度
var arr = new Array(item1,item2,...); //创建并赋值
var arr = [];

//伪数组转换数组
var arr = Array.from(伪数组)
//将一组值转换成数组
var arr = Array.of(1,2,3) //[1,2,3]

数组方法

对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组方法、数组删改方法、数组位置方法、数组归并方法和数组迭代方法

重点:先把全部方法贴上,下面再一一分析

toString()
valueOf()
toLocaleString()
join()
push()
pop()
unshift()
shift()
reverse()
sort()
concat()
splice()
slice()
indexOf()
lastIndexOf()
reduce()
reduceRight()
map()
forEach()
every()
some()
filter()

数组方法详解

对象继承方法

数组是一种特殊的对象,继承了对象Object的toString()、toLocaleString()和valueOf()方法
  • toString()
    toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串

  • valueOf()
    方法返回数组对象本身

  • toLocaleString()
    经常返回与toString()方法相同的值

数组转换方法

  • join()

    1
    2
    3
    4
    var a = [1,2,3];
    console.log(a.join());//'1,2,3'
    console.log(a.join(' '));//'1 2 3'
    console.log(a.join(''));//'123'

栈和队列方法

  • push()
    添加到数组末尾
  • pop()
    数组末尾移除最后一项
  • unshift()
    数组前端添加任意个项并返回新数组长度
  • shift()
    移除数组中的第一个项并返回该项

数组排序方法

  • reverse()
    反转数组的顺序,==原数组顺序也发生改变==
  • sort()
    默认情况下,sort()方法按字符串升序排列数组项,sort方法会调用每个数组项的toString()方法,然后比较得到的字符串排序,返回经过排序之后的数组,==原数组顺序也发生改变==
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    var array = [1,5,10,50];
    console.log(array,array.sort());//[1, 10, 5, 50]
    ```
    sort()方法可以接受一个比较函数作为参数

    ```js
    function compare(x,y){
    if(x < y){
    return -1;
    }else if(x > y){
    return 1;
    }else{
    return 0;
    }
    }
    let arr = [1,3,4,7,2,3,6]
    arr.sort(compare); //[1, 2, 3, 3, 4, 6, 7]

数组拼接方法

  • concat()
    concat()方法基于当前数组中的所有项创建一个新数组,==concat()不影响原数组==

数组删改方法

  • splice()
    splice()和slice()拥有非常相似的名字,但它们的功能却有本质的区别。splice()方法用于删除原数组的一部分成员,并可以在被删除的位置添加入新的数组成员,该方法会改变原数组
    splice()返回一个由删除元素组成的数组,或者如果没有删除元素就返回一个空数组
    splice()的第一个参数start指定了插入或删除的起始位置。如果start是负数,则start = max(length + start,0);如果start是NaN,则相当于start = 0

创建子数组方法

  • slice()

数组位置方法

  • indexOf()
  • lastIndexOf()

数组归并方法

  • reduce()
  • reduceRight()

数组迭代方法

ECMAScript5为数组定义了5个迭代方法

  • map()
  • forEach()
  • every()
  • some()
  • filter()
分享到