- Find and print the name(s) of user(s) whose age is greater than 30 in nested object. In javascript
javascript file
Output
2.Flatten an array (input: [1,2,[3,4], 5], output: [1,2,3,4,5])
Solution 1: using flat()
method:
const arr = [1, 2, [3, 4], 5];
const flattenedArr = arr.flat();
console.log(flattenedArr); // Output: [1, 2, 3, 4, 5]
but it will not flatten multiple Levels.
Solution 2: using flat()
with Infinity
const arr = [1, 2, [3, 4, [5, 6]], 7];
const flattenedArr = arr.flat(Infinity);
console.log(flattenedArr); // Output: [1, 2, 3, 4, 5, 6, 7]
Solution 3: using recursion
and for loop
function flattenArray(arr) {
let result = [];
arr.forEach(item => {
if (Array.isArray(item)) {
result = result.concat(flattenArray(item));
// ---------- OR ------
// result = [...result, ...flattenArray(item)];
} else {
result.push(item);
}
});
return result;
}
const arr = [1, 2, [3, 4, [5, 6]], 7];
const flattenedArr = flattenArray(arr);
console.log(flattenedArr); // Output: [1, 2, 3, 4, 5, 6, 7]
Solution 4: using recursion
and reduce method
function flattenArray(arr) {
return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flattenArray(val) : val), []);
}
const arr = [1, 2, [3, 4, [5, 6]], 7];
const flattenedArr = flattenArray(arr);
console.log(flattenedArr); // Output: [1, 2, 3, 4, 5, 6, 7]
📌📌 More Javascript Tricky questions here:
Tricky Javascript code part 1
Tricky Javascript code - Handling device orientation
Top comments (0)