console.log(item))”."/> console.log(item))”.">

Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar tatasusunan pseudo kepada tatasusunan dalam ES6

Bagaimana untuk menukar tatasusunan pseudo kepada tatasusunan dalam ES6

青灯夜游
青灯夜游asal
2022-05-05 14:03:431962semak imbas

Dalam ES6, kaedah from() jenis tatasusunan boleh digunakan untuk menukar tatasusunan pseudo kepada tatasusunan Kaedah ini boleh menukar objek seperti tatasusunan atau objek boleh dilalui kepada sintaks sebenar "Array. from(pseudo array object).forEache(item=>console.log(item))".

Bagaimana untuk menukar tatasusunan pseudo kepada tatasusunan dalam ES6

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

Ciri baharu ECMAScript6 - tatasusunan pseudo

Apakah itu tatasusunan pseudo: Jika semua kekunci objek adalah integer positif atau sifar dan mempunyai atribut panjang, maka objek ini Sama seperti tatasusunan, ia dipanggil tatasusunan pseudo.

Array pseudo biasa: objek argumen, kebanyakan set elemen DOM dan rentetan.

Contoh

let arrayLike = {
 "0": "a",
 "1": "b",
 "2": "c",
 "length": 3
}

Seperti objek tatasusunanSeperti di atas, ia mempunyai atribut panjang dan kuncinya juga turutan tertib.

Jadi anda boleh melintasi dan menanyakan panjangnya. Tetapi anda tidak boleh memanggil kaedah tatasusunan. Seperti kaedah push, pop dan lain-lain.

Sebelum ES6, terdapat pseudo-array biasa: argumen.

argumen juga kelihatan seperti tatasusunan, tetapi ia tidak mempunyai kaedah tatasusunan.

Sebagai contoh, arguments.push(1), ini pasti akan melaporkan ralat.

Cara menukar tatasusunan pseudo kepada tatasusunan dalam ES6

Dalam ES6, anda boleh menggunakan kaedah dari jenis Tatasusunan untuk menukar tatasusunan pseudo ke dalam tatasusunan.

Kaedah Array.from() digunakan untuk menukar dua jenis objek kepada tatasusunan sebenar:

1. Objek seperti tatasusunan boleh difahami sebagai "susunan semu"

2. Objek boleh dilalui (seperti rentetan)

  <button name="button">测试1</button>
    <br/>
    <button name="button">测试2</button>
    <br/>
    <button name="button">测试3</button>
    <br/>
<script>
//声明变量let变量,const常量
let btns=document.getElementsByName("button");
console.log("btns",btns);//得到一个伪数组
//此处出现异常:Uncaught TypeError:btns.forEach is not a function 
btns.forEach(item=>console.log(item))
</script>
<script>
Array.from(btns).forEache(item=>console.log(item))//将伪数组转换为数组
</script>
Fungsi utama Array.from adalah untuk menukar tatasusunan pseudo dan objek boleh lalui kepada tatasusunan.

Sebab mengapa ia mengatakan "fungsi utama" adalah kerana Array.from juga menyediakan 2 parameter untuk dilalui. Ini boleh memanjangkan pelbagai jenis permainan kecil.

  • Parameter kedua Array.from ialah fungsi, serupa dengan kaedah traversal peta. Digunakan untuk melintasi.

  • Parameter ketiga Array.from menerima objek ini, yang digunakan untuk menukar penunjuk ini.

Penggunaan parameter ketiga (tidak biasa digunakan)

let helper = {
 diff: 1,
 add (value) {
  return value + this.diff; // 注意这里有个 this
 }
};

function translate () {
 return Array.from(arguments, helper.add, helper);
}

let numbers = translate(1, 2, 3);

console.log(numbers); // 2, 3, 4
Pengetahuan lanjutan: Tukar rentetan kepada tatasusunan

let msg = &#39;hello&#39;;
let msgArr = Array.from(msg);
console.log(msgArr);
// 输出: ["h", "e", "l", "l", "o"]
【 Pengesyoran berkaitan :

tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan pseudo kepada tatasusunan dalam ES6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn