JS中的Array.from有什么用?怎么用? js array flat
array.from 是 javascript 中用于将类备份对象或可复制对象转换为真正的备份的方法。它适用于处理如arguments对象、nodelist等类备份对象,以及set、map、string等可迭代对象,例如array.from('hello')将其分割为字符数组。其完整语法为array.from(arraylike,mapfn,thisarg),其中arraylike是必须参数,mapfn是可选的映射函数,thisarg是执行常见用法包括:1. 将arguments转换为数据库;2. 将字符串拆分为字符存储;3. 将 set 或 map 转换为备份;4. 配合映射函数进行元素转换。与展开运算符相比,array.from 的优势在于支持直接映射函数,并且在某些需要兼容旧浏览器的场景中可以通过 polyfill 实现支持。
Array.from 是 JavaScript中一个非常实用的方法,用来把类数组对象或者可复制对象转换成真正的数组。简单来说,它可以快速从一些“像数组但不是数组”的东西里生成数组,方便后续操作。什么情况下会用到Array.from?
最常见的场景就是处理类数组对象(类数组对象)。比如函数内部的参数对象、DOM中获取的NodeList等,它们的操作看起来像数组,有长度属性,也能通过索引访问元素,但不是真正的分布式,因此不能直接使用map、filter这些分布式方法。
这个时候,Array.from就派上用场了。例如:function example() { console.log(Array.isArray(arguments)); // false const args = Array.from(arguments); console.log(Array.isArray(args)); // true}example(1, 2, 3);登录后复制
除了类数组对象,它还能处理 Set、Map、字符串等可迭代对象。怎么用?基本语法和常见用法
Array.from 的完整语法是这样的:Array.from(arrayLike, mapFn, thisArg)登录后复制arrayLike:必须,要转换成批量的对象。mapFn:可选,在新的备份元素上执行的映射函数。thisArg:可选,执行mapFn转换函数时使用这个值。
常见的几种方式如下:把arguments转为磁带把字符串拆成字符读取把Set或Map转换为磁带读取函数进行处理
举个例子:Array.from('hello'); // ['h', 'e', 'n', 'l', 'o']Array.from(new Set([1, 2, 3])); // [1, 2, 3]登录后复制和展开运算符的区别?
你可能会问,那我为什么不直接用 [...arrayLike]?确实,展开运算符在很多情况下可以替代 Array.from。
意思是:const arr1 = [...'hello']; // ['h', 'e', 'l', 'l', 'o'] const arr2 = Array.from('hello'); // 效果一样登录后复制
两者实现了同样的结果。区别在于 Array.from 提供了第二个参数,可以在生成后台的同时对每个元素做处理,有点像 map:Array.from([1, 2, 3], x =gt; x * 2); // [2, 4, 6]登录后复制
而展开错误没有这个功能,只能配合地图单独再调用一次。
另外,对于某些浏览器兼容性要求另一个的项目,Array.from搭配可以polyfill使用,而展开演绎在旧的浏览器中可能完全不支持。
基本上就这些。
以上就是JS中的Array.from有什么用?怎么用?的详细内容,更多请关注乐哥常识网相关其他文章!