DEV Community

SalahElhossiny
SalahElhossiny

Posted on

1

Nested Array Generator

Given a multi-dimensional array of integers, return a generator object which yields integers in the same order as inorder traversal.

A multi-dimensional array is a recursive data structure that contains both integers and other multi-dimensional arrays.

inorder traversal iterates over each array from left to right, yielding any integers it encounters or applying inorder traversal to any arrays it encounters.

var inorderTraversal = function*(arr) {
    arr = arr.flat(Infinity) 
    let i = 0, n = arr.length; 
    while(i < n){
        yield arr[i++]
    }
};


Enter fullscreen mode Exit fullscreen mode

Top comments (1)

Collapse
 
fraxken profile image
Thomas.G • Edited

Use yield star?

var inorderTraversal = function*(arr) {
  yield* arr.flat(Infinity);
};
Enter fullscreen mode Exit fullscreen mode

(Note: but the generator is useless as flat is eager).

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay