Dalam es6, anda boleh menggunakan kaedah flat() untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi Kaedah ini akan "meratakan" lapisan tatasusunan secara lalai bilangan lapisan yang akan ditukar. Kaedah ini Ia hanya mengembalikan tatasusunan baharu dan tidak mengubah tatasusunan asal Sintaksnya ialah "tatasusunan dua dimensi.flat()".
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Kaedah: rata(); parameter boleh diterima 2, 3, 4..., Infiniti; rata ():
1. Bertanggungjawab untuk menukar tatasusunan berbilang dimensi ---> tatasusunan satu dimensi. Kaedah ini mengembalikan tatasusunan baharu dan tidak mempunyai kesan ke atas data asal.
2.flat() hanya akan "meratakan" satu tahap secara lalai dan lalainya ialah 1. Jika anda ingin "meratakan" tatasusunan bersarang berbilang peringkat, anda boleh menulis parameter bagi kaedah flat() sebagai Integer yang menunjukkan bilangan lapisan yang anda ingin tingkatkan.[1,2,[2,3],[2,2]].flat() //[1, 2, 2, 3, 2, 2]
[1, 2, [3, [4, 5]]].flat() // [1, 2, 3, [4, 5]] [1, 2, [3, [4, 5]]].flat(2) // [1, 2, 3, 4, 5]
Jika tatasusunan asal mempunyai jurang, kaedah rata() akan melangkau jurang.
Contoh adalah seperti berikut:[1, [2, [3,4]]].flat(Infinity) // [1, 2, 3, 4] [1, 2, , 4, 5].flat() // [1, 2, 4, 5]
const a = [1, 2, 3, 4, 3]; const b = [3, 4, [5, 6]]; const c = [3, 4, [5, 6, [7, 8]]]; // 不传默认是二维数组降一维数组 console.log(a.concat(b).flat()); // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6] console.log(a.concat(c).flat(3)) // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8] // 如果数组嵌套太过复杂可直接传值Infinity console.log(a.concat(c).flat(Infinity)) // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8]
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan dua dimensi es6 kepada tatasusunan satu dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!