JavaScript 数组常用属性和方法(上)

2022-10-27 15:37:33 浏览数 (3)

数组常用属性和方法

构造函数

Array是 JavaScript 的原生对象,同时也是一个构造函数,可以用它生成新的数组。

代码语言:javascript复制
var arr = new Array(2);
arr.length // 2
arr // [ empty x 2 ]

Array.isArray()

Array.isArray方法返回一个布尔值,表示参数是否为数组。它可以弥补typeof运算符的不足。

代码语言:javascript复制
var arr = [1, 2, 3];

typeof arr // "object"
Array.isArray(arr) // true

上面代码中,typeof运算符只能显示数组的类型是Object,而Array.isArray方法可以识别数组。

valueOf(),toString()

valueOf方法是一个所有对象都拥有的方法,表示对该对象求值。不同对象的valueOf方法不尽一致,数组的valueOf方法返回数组本身。

代码语言:javascript复制
var arr = [1, 2, 3];
arr.valueOf() // [1, 2, 3]

toString方法也是对象的通用方法,数组的toString方法返回数组的字符串形式。

代码语言:javascript复制
var arr = [1, 2, 3];
arr.toString() // "1,2,3"

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

push(),pop()

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

代码语言:javascript复制
var arr = [];

arr.push(1) // 1
arr.push('a') // 2
arr.push(true, {}) // 4
arr // [1, 'a', true, {}]

上面代码使用push方法,往数组中添加了四个成员。

pop方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组。

代码语言:javascript复制
var arr = ['a', 'b', 'c'];

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

shift(),unshift()

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

代码语言:javascript复制
var a = ['a', 'b', 'c'];

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

shift方法可以遍历并清空一个数组。

代码语言:javascript复制
var list = [1, 2, 3, 4, 5, 6];
var item;

while (item = list.shift()) {
  console.log(item);
}

list // []

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

代码语言:javascript复制
var a = ['a', 'b', 'c'];

a.unshift('x'); // 4
a // ['x', 'a', 'b', 'c']

unshift方法可以接受多个参数,这些参数都会添加到目标数组头部。

代码语言:javascript复制
var arr = [ 'c', 'd' ];
arr.unshift('a', 'b') // 4
arr // [ 'a', 'b', 'c', 'd' ]

join()

join方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔。

代码语言:javascript复制
var a = [1, 2, 3, 4];

a.join(' ') // '1 2 3 4'
a.join(' | ') // "1 | 2 | 3 | 4"
a.join() // "1,2,3,4"

concat()

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

代码语言:javascript复制
['hello'].concat(['world'])
// ["hello", "world"]

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

除了数组作为参数,concat也接受其他类型的值作为参数,添加到目标数组尾部。

代码语言:javascript复制
[1, 2, 3].concat(4, 5, 6)
// [1, 2, 3, 4, 5, 6]

1 人点赞