javascript from() 方法将一个类数组对象转换成真实的数组
<strong>Array.from()</strong>
方法可以将一个类数组对象或可迭代对象转换成真实的数组。
from语法
<code class="language-javascript">Array.from(arrayLike[, mapFn[, thisArg]]) </code>
from参数
参数 | 说明 |
arrayLike | 想要转换成真实数组的类数组对象或可迭代对象。 |
mapFn | 可选参数,如果指定了该参数,则最后生成的数组会经过该函数的加工处理后再返回。 |
thisArg | 可选参数,执行 mapFn 函数时 this 的值。 |
你可以使用 Array.from()
将下面的两种对象转换成数组:
- 类数组对象(拥有一个
length
属性和若干索引属性的任意对象) - 可迭代对象(你可以从它身上迭代出若干个元素的对象,比如有
Map
和Set
等)
Array.from()
方法有一个可选参数 mapFn
,让你可以在最后生成的数组上再执行一次 map
方法后再返回。也就是说 Array.from(obj, mapFn, thisArg)
就相当于 Array.from(obj).map(mapFn, thisArg),
除非创建的不是可用的中间数组。 这对一些数组的子类,
如 typed arrays 来说很重要, 因为中间数组的值在调用 map() 时需要是适当的类型。
from()
的 length
属性为 1 。
from
实例:
<code class="language-javascript">// 将类数组对象(arguments)转换成数组 (function () { var args = Array.from(arguments); return args; })(1, 2, 3); // [1, 2, 3] // 将可迭代对象(Set 对象)转换成数组 Array.from(Set(["foo", window])); // ["foo", window] // Map 对象也可以 var m = new Map([[1, 2], [2, 4], [4, 8]]); Array.from(m); // [[1, 2], [2, 4], [4, 8]] // 字符串对象既是类数组又是可迭代对象 Array.from("foo"); // ["f", "o", "o"] // 使用 map 函数转换数组元素 Array.from([1, 2, 3], x => x + x); // [2, 4, 6] // 生成一个数字序列 Array.from({length:5}, (v, k) => k); // [0, 1, 2, 3, 4]</code>
from兼容性解决方法
ECMA-262 第六版标准添加了 Array.from
。有些实现中可能尚未包括。你可以通过在脚本前添加如下内容作为替代方法,以使用未原生支持的 Array.from
方法。该算法按照 ECMA-262 第六版中的规范实现,并假定Object
和 TypeError
有其本身的值, callback.call
对应 Function.prototype.call
。此外,鉴于无法使用 Polyfill 实现真正的的迭代器,该实现不支持规范中定义的泛型可迭代元素。
<code class="language-javascript">// Production steps of ECMA-262, Edition 6, 22.1.2.1 // Reference: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from if (!Array.from) { Array.from = (function () { var toStr = Object.prototype.toString; var isCallable = function (fn) { return typeof fn === 'function' || toStr.call(fn) === '[object Function]'; }; var toInteger = function (value) { var number = Number(value); if (isNaN(number)) { return 0; } if (number === 0 || !isFinite(number)) { return number; } return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number)); }; var maxSafeInteger = Math.pow(2, 53) - 1; var toLength = function (value) { var len = toInteger(value); return Math.min(Math.max(len, 0), maxSafeInteger); }; // The length property of the from method is 1. return function from(arrayLike/*, mapFn, thisArg */) { // 1. Let C be the this value. var C = this; // 2. Let items be ToObject(arrayLike). var items = Object(arrayLike); // 3. ReturnIfAbrupt(items). if (arrayLike == null) { throw new TypeError("Array.from requires an array-like object - not null or undefined"); } // 4. If mapfn is undefined, then let mapping be false. var mapFn = arguments.length > 1 ? arguments[1] : void undefined; var T; if (typeof mapFn !== 'undefined') { // 5. else // 5. a If IsCallable(mapfn) is false, throw a TypeError exception. if (!isCallable(mapFn)) { throw new TypeError('Array.from: when provided, the second argument must be a function'); } // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined. if (arguments.length > 2) { T = arguments[2]; } } // 10. Let lenValue be Get(items, "length"). // 11. Let len be ToLength(lenValue). var len = toLength(items.length); // 13. If IsConstructor(C) is true, then // 13. a. Let A be the result of calling the [[Construct]] internal method of C with an argument list containing the single item len. // 14. a. Else, Let A be ArrayCreate(len). var A = isCallable(C) ? Object(new C(len)) : new Array(len); // 16. Let k be 0. var k = 0; // 17. Repeat, while k </code>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Petua praktikal untuk menukar huruf Inggeris lebar penuh kepada bentuk separuh lebar Dalam kehidupan moden, kita sering bersentuhan dengan huruf Inggeris, dan kita sering perlu memasukkan huruf Inggeris apabila menggunakan komputer, telefon bimbit dan peranti lain. Walau bagaimanapun, kadangkala kita menemui huruf Inggeris lebar penuh, dan kita perlu menggunakan bentuk separuh lebar. Jadi, bagaimana untuk menukar huruf Inggeris lebar penuh kepada bentuk separuh lebar? Berikut adalah beberapa petua praktikal untuk anda. Pertama sekali, huruf dan nombor Inggeris lebar penuh merujuk kepada aksara yang menduduki kedudukan lebar penuh dalam kaedah input, manakala huruf dan nombor Inggeris separuh lebar menduduki kedudukan lebar penuh.

Dalam artikel ini, kami akan menunjukkan kepada anda cara menukar fail OpenDocumentTextDocument (ODT) kepada Microsoft Word (Docx, DOC, dll.). Format. Cara Menukar ODT kepada Word dalam Windows 11/10 Berikut ialah cara anda boleh menukar dokumen ODT kepada format DOC atau DOCX pada Windows PC: Tukar ODT kepada Word menggunakan WordPad atau Word Kaedah pertama yang akan kami tunjukkan kepada anda ialah menggunakan WordPad atau MicrosoftWord untuk menukar ODT kepada Word. Berikut ialah langkah-langkah untuk mencapai ini: Pertama, buka aplikasi WordPad menggunakan menu Mula. Sekarang, pergi ke

Teknologi pengesanan dan pengecaman muka adalah teknologi yang agak matang dan digunakan secara meluas. Pada masa ini, bahasa aplikasi Internet yang paling banyak digunakan ialah JS Melaksanakan pengesanan muka dan pengecaman pada bahagian hadapan Web mempunyai kelebihan dan kekurangan berbanding dengan pengecaman muka bahagian belakang. Kelebihan termasuk mengurangkan interaksi rangkaian dan pengecaman masa nyata, yang sangat memendekkan masa menunggu pengguna dan meningkatkan pengalaman pengguna termasuk: terhad oleh saiz model, ketepatannya juga terhad. Bagaimana untuk menggunakan js untuk melaksanakan pengesanan muka di web? Untuk melaksanakan pengecaman muka di Web, anda perlu biasa dengan bahasa dan teknologi pengaturcaraan yang berkaitan, seperti JavaScript, HTML, CSS, WebRTC, dll. Pada masa yang sama, anda juga perlu menguasai visi komputer yang berkaitan dan teknologi kecerdasan buatan. Perlu diingat bahawa kerana reka bentuk bahagian Web

Fail AI merujuk kepada fail grafik vektor yang dicipta oleh perisian Adobe Illustrator (pendek kata AI), manakala fail CDR merujuk kepada fail grafik vektor yang dicipta oleh perisian CorelDRAW. Memandangkan kedua-dua perisian ini dibangunkan oleh pengeluar yang berbeza, format fail mereka berbeza dan tidak boleh ditukar terus antara satu sama lain. Walau bagaimanapun, kami boleh menukar fail AI kepada fail CDR melalui beberapa kaedah. Kaedah penukaran yang biasa digunakan akan diperkenalkan di bawah. Langkah 1: Eksport fail AI ke format EPS AdobeIllust

Menukar mesin maya (VM) kepada mesin fizikal ialah proses memindahkan contoh maya dan perisian aplikasi yang berkaitan ke platform perkakasan fizikal. Penukaran ini membantu mengoptimumkan prestasi sistem pengendalian dan penggunaan sumber perkakasan. Artikel ini bertujuan untuk memberikan pandangan yang mendalam tentang cara membuat penukaran ini. Bagaimana untuk melaksanakan migrasi dari mesin maya ke mesin fizikal? Biasanya, proses penukaran antara mesin maya dan mesin fizikal dilakukan di luar mesin maya oleh perisian pihak ketiga. Proses ini terdiri daripada berbilang peringkat yang melibatkan konfigurasi mesin maya dan pemindahan sumber. Sediakan mesin fizikal: Langkah pertama ialah memastikan mesin fizikal memenuhi keperluan perkakasan untuk Windows. Kami perlu membuat sandaran data pada mesin fizikal kerana proses penukaran akan menimpa data sedia ada. *Nama pengguna dan kata laluan untuk akaun pentadbir dengan hak pentadbir untuk mencipta imej sistem. akan menjadi maya

Penukaran masa Golang: Cara menukar cap masa kepada rentetan Di Golang, operasi masa adalah salah satu operasi yang sangat biasa. Kadangkala kita perlu menukar cap masa kepada rentetan untuk paparan atau penyimpanan yang mudah. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menukar cap masa kepada rentetan dan memberikan contoh kod khusus. 1. Penukaran cap masa dan rentetan Di Golang, cap masa biasanya dinyatakan dalam bentuk nombor integer, yang mewakili bilangan saat dari 1 Januari 1970 hingga masa semasa. Rentetannya ialah

Artikel ini akan memperkenalkan secara terperinci cara menukar bulan dalam PHP kepada bulan Inggeris, dan memberikan contoh kod khusus. Dalam pembangunan PHP, kadangkala kita perlu menukar bulan digital kepada bulan Inggeris, yang sangat praktikal dalam beberapa pemprosesan tarikh atau senario paparan data. Prinsip pelaksanaan, contoh kod khusus dan langkah berjaga-jaga akan diterangkan secara terperinci di bawah. 1. Prinsip pelaksanaan Dalam PHP, anda boleh menukar bulan digital kepada bulan Bahasa Inggeris dengan menggunakan kelas DateTime dan kaedah format. Tarikh

QQ Music membolehkan semua orang menikmati menonton filem dan menghilangkan kebosanan Anda boleh menggunakan perisian ini setiap hari untuk memenuhi keperluan anda dengan mudah Sebilangan besar lagu berkualiti tinggi tersedia untuk didengari oleh semua orang Lain kali anda mendengarnya, anda tidak memerlukan sambungan Internet Lagu yang dimuat turun di sini bukan dalam format MP3 dan tidak boleh digunakan pada platform lain Selepas lagu keahlian tamat, tiada cara untuk mendengarnya lagi , ramai rakan ingin menukar lagu ke dalam format MP3 Di sini editornya Anda sediakan kaedah supaya semua orang boleh menggunakannya! 1. Buka QQ Music pada komputer anda, klik butang [Menu Utama] di penjuru kanan sebelah atas, klik [Audio Transcoding], pilih pilihan [Tambah Lagu], dan tambah lagu yang perlu ditukar; lagu, klik untuk memilih Tukar kepada [mp3]
