用js写算法题的时候遇到了,初始化二维数组可以用这个
在JavaScript中,Array.from
允许我们从类数组对象(array-like objects)或可迭代对象(iterable objects)创建一个新的数组实例。
Array.from简介
Array.from
是ES6(ECMAScript 2015)中引入的一个静态方法。该方法接受三个参数,并返回一个新的数组实例。
语法
javascript
Array.from(arrayLike[, mapFn[, thisArg]])
参数
arrayLike
: 必需,一个类数组对象或可迭代对象,它将被转换成一个数组。mapFn
(可选): 一个在数组元素被映射到新数组之前对它们进行操作的函数。thisArg
(可选): 执行mapFn
时使用的this
值。
返回值
一个新的数组实例,其元素从 arrayLike
中获取。
使用Array.from的示例
示例1:从类数组对象创建数组
类数组对象是那些具有 length
属性和(或)可索引元素的对象。
javascript
// 定义一个类数组对象
var arrayLike = {
0: 'a',
1: 'b',
2: 'c',
length: 3
};
// 使用Array.from将其转换为数组
var arr = Array.from(arrayLike);
console.log(arr); // ['a', 'b', 'c']
示例2:从字符串创建数组
字符串也是可迭代对象,因此我们可以使用 Array.from
将其转换为字符数组。
javascript
var str = 'hello';
var arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']
示例3:使用mapFn处理元素
Array.from
允许我们在创建数组时对每个元素执行一个函数。
javascript
var arr = Array.from([1, 2, 3], function(x) {
return x * x;
});
console.log(arr); // [1, 4, 9]
示例4:结合箭头函数
箭头函数提供了一种更简洁的方式来编写函数表达式。
javascript
var arr = Array.from({length: 5}, (v, i) => i * i);
console.log(arr); // [0, 1, 4, 9, 16]
在上面的示例中,我们创建了一个长度为5的数组,并使用箭头函数为每个元素赋值为其索引的平方。
结论
Array.from
是一个强大的方法,它简化了从类数组对象和可迭代对象创建数组的操作。通过提供 mapFn
参数,我们可以在数组创建过程中对元素进行转换,这使得 Array.from
在处理数据时非常灵活和高效。