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

相关推荐
雨落在了我的手上2 分钟前
初识java(三):运算符
java·开发语言
爱喝水的鱼丶3 分钟前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载)第四篇:ADT连接故障排查与环境迁移教程
运维·开发语言·数据库·学习·sap·abap
爱吃提升9 分钟前
Yifan Hu(适合大规模数据)大数据算法
开发语言·算法·php
c++之路13 分钟前
装饰器模式(Decorator Pattern)
java·开发语言·装饰器模式
Yolo566Q15 分钟前
环境土壤物理模型HYDRUS1D/2D/3D实践技术应用系统性学习
大数据·开发语言·gpt·学习·arcgis·r语言
Moment20 分钟前
从 beginWork 到 completeWork,Fiber 树是怎么“盖”出来的❓❓❓
前端·javascript·面试
半导体守望者21 分钟前
MKS MWD-25LD-06/07 匹配器Automatic Matching Network OPERATION MANUAL
经验分享·笔记·机器人·自动化·制造
青稞社区.23 分钟前
OpenAI 翁家翌:“启发式学习”的强化学习新范式
人工智能·经验分享·学习·agi
前端初见27 分钟前
React 开发实战全攻略:从基础到项目实战(面向 Vue 开发者)
javascript·vue.js·react.js