zoukankan      html  css  js  c++  java
  • [Javascript] Create an Array concatAll method

    In addition to flat Arrays, programmers must often deal with nested Arrays. For example let's say we have an Array of stock exchanges, each of which is represented by an array of all the stocks listed on that exchange. If we were looking for a stock that matched a certain criteria, we would first need to loop through all of the exchanges, and then all of the stocks within.

    In these situations, most developers would nest two loops. However in this lesson we will write a new Array function "concatAll" which will automatically flatten nested arrays buy one dimension. This will remove the need to ever use a nested loop to flatten a nested array.

    var exchanges = [
      [
          { symbol: "XFX", price: 240.22, volume: 23432 },
          { symbol: "TNZ", price: 332.19, volume: 234 }
        ],
      [
          { symbol: "JXJ", price: 120.22, volume: 5323 },
          { symbol: "NYN", price: 88.47, volume: 98275 }
        ]
    ];
    
    
    Array.prototype.concatAll = function() {
      var results = [];
      
      this.forEach(function(subArray) {
        subArray.forEach(function(item) {
          results.push(item);    
        });
      });  
    
      return results;
    };
    
    
    var stocks =  exchanges.concatAll();
        
    stocks.forEach(function(stock) {       
      console.log(JSON.stringify(stock));  
    });

    Also see lodash flatten: 

    _.flatten(array, [isDeep])

    https://lodash.com/docs#flatten

  • 相关阅读:
    springboot 之JPA
    Oracle数据库安装
    Pytho之Django
    springboot之docker化
    opencv之dlib库人脸识别
    opencv之调用摄像头
    springboot之多模块化项目打包
    python学习笔记2--list
    ETL测试
    Mockserver -MOCO的使用
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4356408.html
Copyright © 2011-2022 走看看