【js】Array.from方法介绍与用法示例

用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 在处理数据时非常灵活和高效。

相关推荐
Dumbness几秒前
农历转换的 4 个边界:2 月 30 日能转出"正月十四"、小月没有三十、闰月、立春到春节之间的干支
前端·javascript
David猪大卫9 分钟前
【C++修炼】STL容器—stack与queue
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
瑶池酒剑仙10 分钟前
C++变量初始化五法完全指南:默认/拷贝/直接/列表/值初始化与窄化转换陷阱(青云之志)
c语言·开发语言·数据结构·c++·算法·visual studio
系统集成-鹰翔10 分钟前
ERP接口月度统计少了零单月份:SQLite分组与最近三个月均值排查
javascript·数据库·经验分享·后端
raindayinrain12 分钟前
c++对象模型--指针
开发语言·c++
德思特15 分钟前
弱网测试入门:为什么你的设备在电梯里会断网?
经验分享·弱网测试
mONESY26 分钟前
从线性 RAG 到 Agentic RAG|基于 LangGraph 实现自主决策 RAG 闭环
javascript·面试
AA陈超26 分钟前
CN-Language中文编程语言:第03篇-语法基础
开发语言·cn·cn中文编程语言·cn-language
熊猫钓鱼>_>27 分钟前
CMP for OpenHarmony 实战:Coil 图片加载库鸿蒙化使用心得
运维·服务器·开发语言·华为·ai编程·harmonyos·openharmony
fengci.34 分钟前
CTF2刷题记录(困难部分)
android·开发语言·前端·学习·php