项目原始demo,不改动
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.
 
 
 
 

24 linhas
515 B

  1. module.exports = function flatten(list, depth) {
  2. depth = (typeof depth == 'number') ? depth : Infinity;
  3. if (!depth) {
  4. if (Array.isArray(list)) {
  5. return list.map(function(i) { return i; });
  6. }
  7. return list;
  8. }
  9. return _flatten(list, 1);
  10. function _flatten(list, d) {
  11. return list.reduce(function (acc, item) {
  12. if (Array.isArray(item) && d < depth) {
  13. return acc.concat(_flatten(item, d + 1));
  14. }
  15. else {
  16. return acc.concat(item);
  17. }
  18. }, []);
  19. }
  20. };