js的from方法和fill方法

JS的from方法和fill方法

介绍

在JavaScript中,数组是一种常用的数据结构。从ES6开始,JavaScript为数组提供了一些新的方法,其中包括了fromfill方法。

from方法

from方法是用来将其他数据类型转换成数组的。它接收一个可迭代对象或类数组对象作为参数,返回一个新的数组对象,这个数组包含了传入对象的所有元素。

我们来看一下它的用法:

// 可迭代对象
const iterable = 'hello';
const arr = Array.from(iterable);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']

// 类数组对象
const arrayLike = { 0: 'a', 1: 'b', 2: 'c', length: 3 };
const arr1 = Array.from(arrayLike);
console.log(arr1); // ['a', 'b', 'c']

fill方法

fill方法是用来填充数组的。它接收一个值作为参数,将数组中的所有元素都替换为这个值,并返回修改后的数组。

我们来看一下它的用法:

const arr2 = [1, 2, 3, 4, 5];
arr2.fill(0);
console.log(arr2); // [0, 0, 0, 0, 0]

const arr3 = new Array(3).fill('a');
console.log(arr3); // ['a', 'a', 'a']

使用场景

from方法

from方法常用在将类数组对象或可迭代对象转换成数组时。例如,将DOM节点集合或字符串转换成数组。

const nodeList = document.querySelectorAll('p');
const arr4 = Array.from(nodeList);

const str = 'hello world';
const arr5 = Array.from(str);

fill方法

fill方法常用在初始化数组时,或在需要对数组的所有元素赋相同值的情况下。

// 初始化数组
const arr6 = new Array(3).fill(0);

// 赋相同值
const arr7 = [1, 2, 3];
arr7.fill(0);

注意事项

  1. from方法只会将可迭代对象的可枚举属性加入到新数组中,不会复制其原型链上的属性。
  2. fill方法会修改原数组,如果不想修改原数组,需要先复制一份。
  3. fill方法可以接受第二个和第三个参数,用来指定填充的起始位置和结束位置。

结论

from方法和fill方法是JavaScript数组的两个常用方法。from方法可以将可迭代对象和类数组对象转换成数组,fill方法可以用来填充数组。我们可以根据实际需求来选择使用这两个方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js的from方法和fill方法 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • Win10预览版最新内部版本号Build9867测试中,将添加Cortana

    Win10预览版最新内部版本号Build9867测试攻略 1. 确认系统版本和更新 首先,确保你的系统版本是Win10预览版最新内部版本号Build9867。你可以通过以下步骤来确认和更新系统: 打开“设置”应用程序。 点击“更新和安全”选项。 在左侧导航栏中选择“Windows Insider计划”。 在右侧窗口中,点击“开始”按钮,加入Windows I…

    other 2023年8月3日
    00
  • C语言进阶之字符串查找库函数详解

    C语言进阶之字符串查找库函数详解 经常处理字符串的程序员都知道,字符串查找是一项非常基础也非常常用的操作,而且不同的应用场景中需要不同的查找方式。C语言提供了多个内置的字符串查找和替换函数,本文将详细讲解每个函数的使用方法及其适用场景。 官方文档 C语言中,字符串查找库函数主要包括以下几个: strstr() 查找一个字符串在另一个字符串中第一次出现的位置 …

    other 2023年6月20日
    00
  • php数组循环的三种方式

    PHP数组循环的三种方式 数组是PHP中常用的数据类型之一,它可以保存一组数据,并且可以通过下标来访问每个元素。在实际开发中,很多情况下我们需要对数组进行循环遍历,以便对每个元素进行处理。接下来,我们将介绍PHP数组循环的三种方式。 1. for循环 for循环是PHP中最基本的循环结构之一,它可以用于对数组进行遍历。以下是使用for循环遍历数组的示例代码:…

    其他 2023年3月29日
    00
  • Android 中 Fragment 嵌套 Fragment使用存在的bug附完美解决方案

    Android 中 Fragment 嵌套 Fragment 使用存在的 bug 附完美解决方案攻略 在 Android 开发中,使用 Fragment 嵌套 Fragment 是一种常见的方式来构建复杂的用户界面。然而,这种方式可能会导致一些 bug,例如子 Fragment 的生命周期管理问题和视图层级混乱等。本攻略将详细讲解这些问题,并提供完美的解决方…

    other 2023年7月28日
    00
  • 获取URL文件名后缀

    获取URL文件名后缀(也称扩展名或文件类型)的方法有多种,下面我将为您提供常见的三种方式。 1. 使用URL的正则表达式获取文件后缀 我们可以通过使用正则表达式来提取URL中的文件后缀。具体来说,我们可以使用以下代码来获取URL末尾的字符串: import re url = ‘https://example.com/file.jpg’ match = re.…

    other 2023年6月27日
    00
  • vue中axios的二次封装实例讲解

    这里详细讲解一下vue中axios的二次封装实例。 什么是axios? axios 是一个基于 Promise 的 HTTP 客户端,可以用于浏览器和 node.js。axios 本身提供了更加简单易用的 API,能够一次性设置多余其他请求的默认值,同时也支持拦截器的使用。 为什么需要二次封装axios? 二次封装 axios 的主要原因在于: 业务中对请求…

    other 2023年6月25日
    00
  • 使用innodb_force_recovery解决MySQL崩溃无法重启问题

    使用innodb_force_recovery可以帮助我们在MySQL崩溃无法重启的情况下,尝试恢复数据库并使其重新启动。但是需要注意,使用该方法可能会导致数据丢失或数据损坏,请务必在备份好数据后再进行操作。接下来,我将详细讲解使用innodb_force_recovery的完整攻略。 1. 准备工作 在操作之前,请确保已经备份好了数据,并将原有的MySQL…

    other 2023年6月27日
    00
  • java词法分析器DDL递归应用详解

    Java词法分析器DDL递归应用详解 DDL(Deep Directory List)递归算法 是一种非常常用的递归算法。该算法可以递归地遍历指定目录下的所有子目录和文件,获取相应的目录树结构或者文件列表。 在实现Java词法分析器时,DDL递归算法可以被运用于解析Java源代码文件,获取相应的关键字、语句、注释等词法信息,从而对源代码进行分析和处理。 以下…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部