हमें एक JavaScript सरणी फ़ंक्शन लिखना है जो असत्य (falsy) मानों वाली एक नेस्टेड सरणी लेता है और एक सरणी लौटाता है जिसमें सरणी में मौजूद सभी तत्व बिना किसी नेस्टिंग के हों।
उदाहरण
यदि इनपुट है:
const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]];
तो आउटपुट होना चाहिए:
const output = [1, 2, 3, 4, 5, false, 6, 5, 8, null, 6];
कोड
const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]];
const flatten = function() {
let res = [];
for (let i = 0; i < this.length; i++) {
if (Array.isArray(this[i])) { res.push(...this[i].flatten()); }
else { res.push(this[i]); }
}
return res;
};
Array.prototype.flatten = flatten;
console.log(arr.flatten());
आउटपुट
[ 1, 2, 3, 4, 5, 5, false, 6, 5, 8, null, 6 ]