一维数组

数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。

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

创建数组的方式

var arr = new Array(1,2,3);
var arr = Array(1,2,3);
var = [1,2,3];

二维数组

数组可以嵌套 一个数组可以作为一个元素被包含在另外一个数组里面 这就是二维数组

var arr=[[1,2,3],[4,5,6],[7,8,9]]

检测数组的方法

console.log(arr instanceof Array);


console.log(Object.prototype.toString.call(arr));

console.log(Array.isArray(arr));

转换方法
toString
把数组转换为字符串 并返回结果

var arr=[1,2,3,4,5];
console.log(arr.toString())    //1,2,3,4,5

valueOf
返回 Boolean 对象的原始值

var arr=[1,2,3,4,5];
console.log(arr.valueOf())  // [1,2,3,4,5]

数组的一些方法

  • push

push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度 该方法会改变原数组

var arr = [];

arr.push(1) // 1   --->数组长度
arr.push('a') // 2
arr.push(true, {}) // 4
arr // [1, 'a', true, {}]
  • pop

pop方法用于删除数组的最后一个元素,并返回该元素 该方法会改变原数组
对空数组使用pop方法,不会报错,而是返回undefined

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

arr.pop() // 'c'
arr // ['a', 'b']
  • shift

shift方法用于删除数组的第一个元素,并返回该元素 该方法会改变原数组

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

a.shift() // 'a'
a // ['b', 'c']
  • unshift

unshift方法用于在数组的第一个位置添加元素,并返回添加新元素后的数组长度 该方法会改变原数组

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

a.unshift('x'); // 4
a // ['x', 'a', 'b', 'c']
unshift方法可以接受多个参数,这些参数都会添加到目标数组头部。
var arr = [ 'c', 'd' ];
arr.unshift('a', 'b') // 4
arr // [ 'a', 'b', 'c', 'd' ]
  • reverse

reverse方法用于颠倒排列数组元素,返回改变后的数组 该方法将改变原数组。

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

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

sort方法对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变
sort方法不是按照大小排序,而是按照Unicode顺序 即数值会被先转成字符串,再按照Unicode顺序进行比较,所以101排在11的前面。

[11, 101].sort()
// [101, 11]
如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数。
[10111,1101,111].sort(function(a,b){
 return a-b;
})    //[111, 1101, 10111]
  • concat

concat方法用于多个数组的合并 它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变。

['hello'].concat(['world'])
// ["hello", "world"]
  • slice

slice方法用于提取目标数组的一部分,返回一个新数组,原数组不变。
arr.slice(start, end);
它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。

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

a.slice(0) // ["a", "b", "c"]
a.slice(1) // ["b", "c"]
a.slice(1, 2) // ["b"]

如果slice方法的参数是负数,则表示倒数计算的位置。

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

-2表示倒数计算的第二个位置,-1表示倒数计算的第一个位置。

如果第一个参数大于等于数组长度,或者第二个参数小于第一个参数,则返回空数组

  • splice

splice方法用于删除原数组的一部分成员,并可以在删除的位置添加新的数组成员,返回值是被删除的元素。该方法会改变原数组
splice的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素

var a = ['a', 'b', 'c', 'd', 'e', 'f'];
a.splice(4, 2) // ["e", "f"]

RoOK1E
0 声望4 粉丝

« 上一篇
原型和继承
下一篇 »
RegExp对象