Array method 学习笔记
系统地学习一下JS中Array的方法,并做个简单的笔记
Array.from()
从array-like
or iterable object
创建一个新的数组,等价于...
运算符
1
| Array.from(arrayLike[, mapFn[, thisArg]])
|
1 2
| Array.from('string') [...'string']
|
1 2 3
| const m = new Map([[1, 'bar'], [2, 'foo']]) Array.from(m) [...m]
|
- from an Array-like object (arguments)
1 2 3 4 5
| function f() { return Array.from(arguments) } f(1,2,3)
|
1 2
| Array.from([1, 2, 3], x => x * x)
|
1
| Array.from({length: 5}, (v, i) => i + 1)
|
Array.isArray()
判断一个变量是否是一个数组
1 2 3 4 5
| Array.isArray([]) Array.isArray(Array.prototype) Array.isArray(null) Array.isArray(undefined)
|
Array.of()
与Array()类似,但是处理单个整数变量的结果不同
1 2 3 4 5
| Array.of(7); Array.of(1, 2, 3); Array(7); Array(1, 2, 3);
|
Array.prototype.concat()
合并两个或更多数组,形成一个新的数组
1
| const new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
|
1 2 3 4 5
| const alpha = ['a', 'b', 'c'] const alphaNumeric = alpha.concat(1, [2, 3]) const num = [1, [2, 3]] const alphaNumeric2 = alpha.concat(num)
|
Array.prototype.copyWithin()
在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。使用这个方法,会修改当前数组。
1
| arr.copyWithin(target, start, end)
|
target
: 序列将被复制到的目标位置
start
: 被复制序列的起点,默认为0
end
: 被复制序列的终点,默认为arr.length
1 2 3
| ['alpha', 'bravo', 'charlie', 'delta'].copyWithin(2, 0) [1, 2, 3, 4, 5].copyWithin(-2, -3, -1)
|