项目原始demo,不改动
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Dieses Repo ist archiviert. Du kannst Dateien sehen und es klonen, kannst aber nicht pushen oder Issues/Pull-Requests öffnen.
 
 
 
 

24 Zeilen
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. };