Rumah  >  Soal Jawab  >  teks badan

Cantumkan/ratakan tatasusunan

<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粉828463673P粉828463673419 hari yang lalu490

membalas semua(2)saya akan balas

  • P粉557957970

    P粉5579579702023-08-28 10:33:02

    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]

    balas
    0
  • P粉293341969

    P粉2933419692023-08-28 09:31:51


    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);
        

    balas
    0
  • Batalbalas