Ja, ich habe es gesehen und ich habe es in Firefox versucht, als es nicht funktionierte, habe ich es erneut mit Chrome versucht (das unterstützt wird, letzte Version) und das gleiche Ergebnis ist aufgetreten.
– TechnoRitter
22. Juni 2018 um 18:11 Uhr
Welche Chrome-Version verwendest du?
– chuckx
22. Juni 2018 um 18:11 Uhr
@TechnoKnight Chrome 69+ wird unterstützt. Welche Chrome-Version hast du?
– Benutzer47589
22. Juni 2018 um 18:12 Uhr
Iwan
Das flat Methode ist noch nicht implementiert in gängigen Browsern (nur Chrome v69, Firefox Nightly und Opera 56). Es ist eine experimentelle Funktion. Daher können Sie es nicht verwenden noch.
Vielleicht möchten Sie Ihre eigenen haben flat Funktion stattdessen:
Der Code wurde hier von Noah Freitas ursprünglich implementiert, um das Array mit no zu glätten depth spezifizierten.
Das wäre gleichbedeutend mit arr.flat(Infinity)aber nicht mit dem Standardargument von 1
– Patrick Roberts
22. Juni 2018 um 18:16 Uhr
@Iwan flat verwendet ein Argument, das die Abflachungstiefe definiert. Diese Füllwatte nicht.
– Sebastian Simon
22. Juni 2018 um 18:21 Uhr
Vielleicht möchten Sie die Tiefe-1 nicht als Bedingung verwenden, wenn Sie 0 eingeben, wird das zu -1, was gleich wahr und nicht falsch ist.
– WORMSS
3. April 2019 um 7:07 Uhr
@RotimiBest Das ist komisch. Ich habe es überprüft und es funktioniert auf Chrome v74. Kannst du versuchen zu tippen Array.prototype.flat in deiner Konsole?
– Iwan
10. Mai 2019 um 11:13 Uhr
September 2020, noch ein Thema :/
– Ambroise Rabier
12. September 2020 um 9:36 Uhr
Das kann auch funktionieren.
let arr = [ [1,2,3], [2,3,4] ];
console.log([].concat(...arr))
Oder für ältere Browser,
[].concat.apply([], arr);
Sehr einfach, funktionierte für mich für einen Test auf Leetcode, da array.flat() in JS nicht unterstützt wurde
– Cherucole
11. Mai 2020 um 6:18 Uhr
resu
Array.flat ist nicht unterstützt durch Ihren Browser. Im Folgenden finden Sie zwei Möglichkeiten, dies zu implementieren.
Als Funktion, die depth Variable gibt an, wie tief die input Die Array-Struktur sollte abgeflacht werden (standardmäßig 1; use Infinity so tief gehen wie es geht) während die stack ist das abgeflachte Array, das bei rekursiven Aufrufen als Referenz übergeben und schließlich zurückgegeben wird.
function flat(input, depth = 1, stack = [])
{
for (let item of input)
{
if (item instanceof Array && depth > 0)
{
flat(item, depth - 1, stack);
}
else {
stack.push(item);
}
}
return stack;
}
Als Polyfill, verlängernd Array.prototype wenn Sie das bevorzugen arr.flat() Syntax:
Es ist Experimental-. Welchen Browser verwendest du?
– Phix
22. Juni 2018 um 18:09 Uhr
Welcher Browser? Hast du dir die angeschaut Verfügbarkeitstabelle?
– null298
22. Juni 2018 um 18:09 Uhr
Ja, ich habe es gesehen und ich habe es in Firefox versucht, als es nicht funktionierte, habe ich es erneut mit Chrome versucht (das unterstützt wird, letzte Version) und das gleiche Ergebnis ist aufgetreten.
– TechnoRitter
22. Juni 2018 um 18:11 Uhr
Welche Chrome-Version verwendest du?
– chuckx
22. Juni 2018 um 18:11 Uhr
@TechnoKnight Chrome 69+ wird unterstützt. Welche Chrome-Version hast du?
– Benutzer47589
22. Juni 2018 um 18:12 Uhr