JavaScript from() 方法
定义和用法
from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。
如果对象是数组返回 true,否则返回 false。
浏览器支持
表格中的数字表示支持该方法的第一个浏览器版本号。
| 方法 | |||||
|---|---|---|---|---|---|
| from() | 45.0 | 12.0 | 32.0 | 9 | 25.0 |
语法
Array.from(object, mapFunction, thisValue)
参数
| 参数 | 描述 |
| object | 必需,要转换为数组的对象。 |
| mapFunction | 可选,数组中每个元素要调用的函数。 |
| thisValue | 可选,映射函数(mapFunction)中的 this 对象。 |
技术细节
| 返回值: | 数组对象。 |
| JavaScript 版本: | ECMAScript 6 |
更多实例
下面的实例返回集合中包含的对象数组。
var setObj = new Set(["a", "b", "c"]);
var objArr = Array.from(setObj);
objArr[1] == "b"; // true
下面的实例演示如何使用箭头语法和映射函数更改元素的值。
var arr = Array.from([1, 2, 3], x => x * 10);
// arr[0] == 10;
// arr[1] == 20;
// arr[2] == 30;
JavaScript Array 对象
shucheng
153***1163@qq.com
from 实现数组去重:
shucheng
153***1163@qq.com
吹梦到西洲
717***517@qq.com
Array.from() 可以将一个伪数组转换为数组,如下所示:
let obj = { '0': 1,//'0':1中的'0'将转换为下标0,下面的key同理 '1': 2, '2':3, 'length': 4,//length规定了转换的数组有多长 } let newObj= Array.from(obj, item => {return item}) console.log(newObj); //输出:[ 1, 2, 3, undefined ]简单比喻伪数组是有索引下标的,假设我们不按常理给 key 值呢?如下所示:
let obj = { 'a': 1, 'b': 2, 'c':3, 'length': 4, } let newObj= Array.from(obj, item => {return item}) console.log(newObj); //key值不按常理出牌所以无效,但规定了 length 所以输出: 四个 undefined我们也可以自由控制下标决定元素在数组中的位置,但我觉得没什么用。如下所示:
let obj = { '0': 1, '3': 2, 'length': 4, } let newObj= Array.from(obj, item => {return item}) console.log(newObj); // 输出:[ 1, undefined, undefined, 2 ]以上皆个人愚见,如有任何错误及不同意见,诚请批评指正,共同商讨。
吹梦到西洲
717***517@qq.com