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

  • 相关阅读:
    Web大前端面试题-Day12
    Web大前端面试题-Day11
    每天刷Web面试题(前10天汇总)
    Web大前端面试题-Day10
    Web大前端面试题-Day9
    Web大前端面试题-Day8
    Web大前端面试题-Day5
    Web大前端面试题-Day7
    Web大前端面试题-Day6
    php获取时间是星期几
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4356408.html
Copyright © 2011-2022 走看看