JavaScript Array Logic Questions

2 min read
Here are some JavaScript array logic questions commonly asked in interviews.
1. Find the Duplicate Numbers in an Array
const arr = [1, 2, 3, 2, 4, 5, 1];
const duplicates = arr.filter((item, index) => arr.indexOf(item) !== index);
console.log([...new Set(duplicates)]); // [2, 1]
2. Find the Missing Number in a Sequence
const arr = [1, 2, 4, 5]; // Missing: 3
const n = 5;
const total = (n * (n + 1)) / 2;
const sum = arr.reduce((a, b) => a + b, 0);
console.log(total - sum); // 3
3. Remove Duplicates from an Array
const arr = [1, 2, 2, 3, 4, 4];
const unique = [...new Set(arr)];
console.log(unique); // [1, 2, 3, 4]
4. Find the First Non-Repeating Element
const arr = [4, 5, 1, 2, 0, 4];
const firstUnique = arr.find(item => arr.indexOf(item) === arr.lastIndexOf(item));
console.log(firstUnique); // 5
5. Group Elements by Occurrence Count
const arr = ['a', 'b', 'a', 'c', 'b', 'a'];
const count = arr.reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
console.log(count); // { a: 3, b: 2, c: 1 }
6. Chunk an Array Into Smaller Arrays
function chunkArray(arr, size) {
const result = [];
for (let i = 0; i < arr.length; i += size) {
result.push(arr.slice(i, i + size));
}
return result;
}
console.log(chunkArray([1, 2, 3, 4, 5], 2)); // [[1,2],[3,4],[5]]
7. Intersection of Two Arrays
const arr1 = [1, 2, 3, 4];
const arr2 = [2, 4, 6];
const intersection = arr1.filter(item => arr2.includes(item));
console.log(intersection); // [2, 4]
8. Check if Two Arrays are Equal
function arraysEqual(a, b) {
if (a.length !== b.length) return false;
return a.every((val, index) => val === b[index]);
}
console.log(arraysEqual([1, 2, 3], [1, 2, 3])); // true
9. Move All Zeros to End
function moveZeros(arr) {
const nonZero = arr.filter(n => n !== 0);
const zeroCount = arr.length - nonZero.length;
return [...nonZero, ...Array(zeroCount).fill(0)];
}
console.log(moveZeros([0, 1, 0, 3, 12])); // [1, 3, 12, 0, 0]
10. Find Second Largest Number
function secondLargest(arr) {
const unique = [...new Set(arr)].sort((a, b) => b - a);
return unique[1] ?? null;
}
console.log(secondLargest([10, 5, 10, 8])); // 8
11. Remove Falsy Values from Array
const arr = [0, "hello", false, undefined, "", 5];
const cleaned = arr.filter(Boolean);
console.log(cleaned); // ["hello", 5]
0
Subscribe to my newsletter
Read articles from Maulik Gajipara ๐๏ธ directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
