Mehrere Möglichkeiten, Daten zu reduzieren

1. Verwenden Sie zur Implementierung die in es6 bereitgestellte flat()-Methode

  <script>
    let arr = [
      [1, 2, 2],
      [3, 4, 5, 5],
      [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10
    ]
    //flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
    arr = arr.flat(Infinity)
    console.log(arr);
  </script>

2. Verwenden Sie die Idee der Konvertierung in einen String

(1)toString()

    let arr = [
      [1, 2, 2],
      [3, 4, 5, 5],
      [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10
    ]
    arr = arr.toString().split(',').map(item => parseFloat(item))
    console.log(arr);

(2)JSON.stringify()

    let arr = [
      [1, 2, 2],
      [3, 4, 5, 5],
      [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10
    ]
    arr = JSON.stringify(arr).replace(/(\[|\])/g,'').split(',').map(item => parseFloat(item))
    console.log(arr);

3. Schleife, um zu überprüfen, ob es sich um ein Array handelt

    let arr = [
      [1, 2, 2],
      [3, 4, 5, 5],
      [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10
    ]
    // 循环验证是否为数组
    // some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值
    while(arr.some(item => Array.isArray(item))) {
      // concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
      arr = [].concat(...arr)
    }
    console.log(arr);

Supongo que te gusta

Origin blog.csdn.net/gkx19898993699/article/details/128255646
Recomendado
Clasificación