Array类型

描述

  • 数组 - 是可以存储一个或多个数据的有序集合

检测数组

  • 表示检测指定的目标是否为数组
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]
/* 判断该数组是否为引用类型 */
console.log( arr instanceof Array );// 显示 true

Object.prototype.toSring.call()方法

  • 用于判断当前对象的数据类型
  • 该方法可以判断任何类型
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]
console.log( Object.prototype.toString.call( arr ) );// 显示 [object Array]
/* 判断Number类型 */
console.log( Object.prototype.toString.call( 100 ) );// 显示 [object Number]

Array.prototype.isPrototypeOf()方法

  • 该方法是继承于 Object
  • 用于判断指定的类型是否出现在当前对象的原型链中
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]
console.log( Array.prototype.isPrototypeOf( arr ) );// 显示 true

Array.isArray()方法

  • 判断当前对象是否为数组
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]
console.log( Array.isArray( arr ) );// 显示 true

转换数组

  • toString()方法 - 表示将指定目标转换成字符串类型
  • valueof()方法 - 表示返回指定目标的原始值

    • 原始值 - 使用字面量方式定义出的数据值
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]

/* toString()方法 */
console.log( arr.toString() );// 显示 1,2,3,4,5
/* valueof()方法 */
console.log( arr.valueOf() );// 显示 [ 1, 2, 3, 4, 5 ]

进出栈方法

push()方法 和 pop()方法

  • push()方法 - 表示在指定数组的最后面添加一个或多个元素
  • pop()方法 - 表示对指定数组中的最后一个元素进行删除
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]

/* 通过push()方法进行添加 */
arr.push( 6 );
console.log( arr );// 显示 [ 1, 2, 3, 4, 5, 6 ]
/* 通过pop()方法进行删除 */
arr.pop();
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]

unshift()方法 和 shift()方法

  • unshift()方法 - 表示在指定数组的最前面添加一个或多个元素
  • shift()方法 - 表示对指定数组中第一个元素进行删除
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]
/* 通过unshift()方法进行添加 */
arr.unshift( 7, 8 );
console.log( arr ); // 显示 [ 7, 8, 1, 2, 3, 4, 5 ]
/* 通过shift()方法进行删除 */
arr.shift();
console.log( arr );// 显示 [ 8, 1, 2, 3, 4, 5 ]

排序方法

  • 表示对数组的排列方式进行设置
  • reverse()方法

    • 表示将元素从大小进行排序
  • sort()方法

    • 表示将元素先转换成 Unicode码 在根据 Unicode码 进行排序
/* 定义一个数组 */
var arr = [1,2,3,4,5];
/* 默认排序 */
console.log( arr );// 显示 [ 1, 2, 3, 4, 5 ]

/* reverse()方法的排序 */
console.log( arr.reverse() );// 显示 [ 5, 4, 3, 2, 1 ]

/* sort()方法的排序 */
console.log( arr.sort() );// 显示 [ 1, 2, 3, 4, 5 ]

连接方法

  • concat()方法

    • 表示将两个或多个数组中的元素进行连接,显示在一个数组中
/* 定义一个数组 */
var arr1 = [1,2,3,4,5];
console.log( arr1 );// 显示 [ 1, 2, 3, 4, 5 ]
/* 定义另一个数组 */
var arr2 = [6,7,8,9];
console.log( arr2 );// 显示 [ 6, 7, 8, 9 ]
/* 通过concat()方法将两个数组进行拼接 */
console.log( arr1.concat( arr2 ) );// 显示 [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

操作方法

  • 表示对数组进行的一系类操作

    • 比如 删除、插入、替换、等等...

splice()方法

  • 表示对数组进行添加或删除元素
删除元素
  • 第一个参数 - 表示删除元素的开始位置(索引值)
  • 第二个参数 - 表示删除元素的个数
  • 该方法的返回值 - 将删除的元素组成新的数组进行返回
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [1,2,3,4,5]
/* 将方法的返回值赋值给一个变量 */
var s1 = arr.splice( 0, 5 );
/* 显示删除的元素数据 */
console.log( s1 );// 显示 [ 1, 2, 3, 4, 5 ]
/* 显示删除后数组 */
console.log( arr );// 显示 []
添加元素
  • 第一个参数 - 表示添加元素的位置
  • 第二个参数 - 表示删除元素的个数
  • 第三个参数 - 表示添加的元素(添加的元素可以是多个)
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [1,2,3,4,5]
/* 将方法的返回值赋值给一个变量 */
var s2 = arr.splice( 0, 0, 6,7,8 );
/* 显示删除的元素数据 */
console.log( s2 );// 显示 []
/* 显示添加元素的位置 */
console.log( arr );// 显示 [ 6, 7, 8, 1, 2, 3, 4, 5 ]

slice()方法

  • 表示对指定数组中的元素进行截取
  • 参数

    • 第一个参数 - 表示开始截取的位置(默认从 0(索引值)开始)
    • 第二个参数 - 表示结束截取的位置(默认到数组最后的位置)
/* 定义一个数组 */
var arr = [1,2,3,4,5];
console.log( arr );// 显示 [1,2,3,4,5]
/* 将方法的返回值赋值给一个变量 */
var s3 = arr.slice( 3, 4 );
/* 显示截取的元素 */
console.log( s3 );// 显示 [ 4 ]

检测方法

  • 表示检测目标数组中是否存在指定元素

indexOf()方法

  • 表示从左到右的顺序进行检测
/* 定义一个数组 */
var arr = [1,2,3,4,2,5,6];
console.log( arr );// 显示 [ 1, 2, 3, 4, 2, 5, 6 ]

/* 通过indexOf()方法进行检测 */
console.log( arr.indexOf( 2 ) );// 显示 1(索引值)

lastIndexOf()方法

  • 表示从右到左的顺序进行检测
/* 定义一个数组 */
var arr = [1,2,3,4,2,5,6];
console.log( arr );// 显示 [ 1, 2, 3, 4, 2, 5, 6 ]
/* 通过lastIndexOf()方法进行检测 */
console.log( arr.lastIndexOf( 2 ) );// 显示 4(索引值)

检测的目标不存在时

  • 以上两种方法只能匹配到第一个与目标元素相同的元素,并显示位置信息

    • 如果指定数组中存在多个相同元素数据,只会找到第一个,剩下的将不会再去查找
  • 如果需要检测的元素不存在会显示 -1(固定写法)
/* 定义一个数组 */
var arr = [1,2,3,4,2,5,6];
console.log( arr );// 显示 [ 1, 2, 3, 4, 2, 5, 6 ]
/* 检测的目标不存在时 */
console.log( arr.indexOf( 8 ) );// 显示 -1

蔡志远
9 声望5 粉丝