Cantumkan/ratakan tatasusunan
P粉828463673
P粉828463673 2023-08-27 12:05:43
0
2
546
<p>Saya mempunyai tatasusunan JavaScript, sebagai contoh: </p> <pre class="brush:php;toolbar:false;">[["$6"], ["$12"], ["$25"], ["$25"], ["$18"], [" $22"], ["$10"]]</pre> <p>Bagaimanakah saya boleh menggabungkan tatasusunan dalaman yang berasingan menjadi satu tatasusunan seperti ini: </p> <pre class="brush:php;toolbar:false;">["$6", "$12", "$25", ...]</pre> <p><br /></p>
P粉828463673
P粉828463673

membalas semua(2)
P粉557957970

Ini ialah fungsi pendek yang menggunakan beberapa kaedah tatasusunan JavaScript yang lebih baharu untuk meratakan tatasusunan n-dimensi.

function flatten(arr) {
  return arr.reduce(function (flat, toFlatten) {
    return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
  }, []);
}

Penggunaan:

flatten([[1, 2, 3], [4, 5]]); // [1, 2, 3, 4, 5]
flatten([[[1, [1.1]], 2, 3], [4, 5]]); // [1, 1.1, 2, 3, 4, 5]
P粉293341969

ES2019

ES2019 memperkenalkan kaedah 数组。 prototype.flat(), yang boleh anda gunakan untuk meratakan tatasusunan. Ia serasi dengan kebanyakan persekitaran, walaupun ia hanya tersedia dalam Node.js bermula dengan versi 11 dan bukan dalam Node.js. Ia benar-benar baik dalam Internet Explorer.

const arrays = [
      [""],
      [""],
      [""],
      [""],
      [""],
      [""],
      [""]
    ];
const merge3 = arrays.flat(1); //The depth level specifying how deep a nested array structure should be flattened. Defaults to 1.
console.log(merge3);
    
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan