Javascript:
1. Remove duplicates in string
2. Remove duplicates in Array
3. Sort the array in js
4. remove and count duplicates in array in js
5. Convert the array to flatten array
6. Fibonacci series upto n terms
7. Fibonacci series for first 5 terms
8. Find factorial of a number
9. Max number of 1s in Array
10. Find count of consecutive ones in Array
11. Second highest number in js Array
12. Find single number in array which is not duplicate
13. Shift zeros to end without changing the positions of positive numbers
14. Add 1 to array. Ex: [1,2,3]= [1,2,4] , [9,9]= [1,0,0]
15. Code for valid parenthesis in JS
16. Count frequency of character in string or array.
1. Remove duplicates in string
// Easy approach
function removeDuplicatesStr(str) {
let result = "";
for (let char of str) {
if (!result.includes(char)) result += char;
}
return result;
}
console.log(removeDuplicatesStr("hello")); // "helo"
// Using inbuilt function (Set)
const str = "hello";
const uniqueStr = [...new Set(str)].join("");
console.log(uniqueStr); // "helo"
2. Remove duplicates in Array
// Easy approach
function removeDuplicatesArr(arr) {
let result = [];
arr.forEach(el => {
if (!result.includes(el)) result.push(el);
});
return result;
}
console.log(removeDuplicatesArr([1,2,2,3])); // [1,2,3]
// Using inbuilt function
const arr = [1,2,2,3];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1,2,3]
3. Sort the array in JS
// Easy approach (simple bubble sort for understanding)
function sortArray(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i+1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
}
return arr;
}
console.log(sortArray([3,1,4,2])); // [1,2,3,4]
// Using inbuilt sort
const arr2 = [3,1,4,2];
arr2.sort((a,b)=>a-b);
console.log(arr2); // [1,2,3,4]
4. Remove and count duplicates in array
function removeAndCountDuplicates(arr) {
const count = {};
const result = [];
for (let el of arr) {
count[el] = (count[el] || 0) + 1;
if (!result.includes(el)) result.push(el);
}
return { result, count };
}
console.log(removeAndCountDuplicates([1,2,2,3,3,3]));
// { result: [1,2,3], count: {1:1, 2:2, 3:3} }
5. Convert the array to flatten array
const arr = [1, [2, [3, 4], 5], 6];
// Easy approach (recursive)
function flattenArray(arr) {
let result = [];
arr.forEach(el => {
if (Array.isArray(el)) result = result.concat(flattenArray(el));
else result.push(el);
});
return result;
}
console.log(flattenArray(arr)); // [1,2,3,4,5,6]
// Using inbuilt flat (depth = Infinity)
console.log(arr.flat(Infinity)); // [1,2,3,4,5,6]
6. Fibonacci series up to n terms
function fibonacci(n) {
let fib = [0,1];
for(let i=2;i<n;i++){
fib[i]=fib[i-1]+fib[i-2];
}
return fib.slice(0,n);
}
console.log(fibonacci(7)); // [0,1,1,2,3,5,8]
7. Fibonacci series for first 5 terms
const first5 = fibonacci(5);
console.log(first5); // [0,1,1,2,3]
8. Find factorial of a number
// Easy iterative
function factorial(n){
let fact = 1;
for(let i=1;i<=n;i++) fact *= i;
return fact;
}
console.log(factorial(5)); // 120
// Using inbuilt reduce
const num = 5;
const fact2 = Array.from({length:num},(_,i)=>i+1).reduce((a,b)=>a*b,1);
console.log(fact2); // 120
9. Max number of 1s in Array
const arr = [1,0,1,1,1,0,1];
// Easy approach
let maxCount=0,count=0;
for(let i=0;i<arr.length;i++){
if(arr[i]===1) count++;
else count=0;
maxCount = Math.max(maxCount,count);
}
console.log(maxCount); // 3
10. Count consecutive ones in Array
// Already done in above example, for full count of sequences
function consecutiveOnes(arr){
let counts=[], count=0;
for(let i=0;i<arr.length;i++){
if(arr[i]===1) count++;
else { if(count>0) counts.push(count); count=0; }
}
if(count>0) counts.push(count);
return counts;
}
console.log(consecutiveOnes([1,1,0,1,1,1,0,1])); // [2,3,1]
11. Second highest number in JS Array
const arr = [5,2,9,1,7];
const uniqueArr = [...new Set(arr)]; // remove duplicates
uniqueArr.sort((a,b)=>b-a);
console.log(uniqueArr[1]); // 7
12. Find single number in array which is not duplicate
const arr = [2,3,2,4,4];
// Easy
const count = {};
arr.forEach(el => count[el] = (count[el] || 0)+1);
const single = Object.keys(count).find(k => count[k]===1);
console.log(Number(single)); // 3
// XOR trick (for array with only one unique number, others twice)
let res=0;
arr.forEach(el=>res^=el);
console.log(res); // 3
13. Shift zeros to end without changing the positions of positive numbers
function shiftZeros(arr){
let result=[], zeros=0;
arr.forEach(el=> el===0?zeros++:result.push(el));
while(zeros--) result.push(0);
return result;
}
console.log(shiftZeros([0,1,0,3,12])); // [1,3,12,0,0]
14. Add 1 to array
function addOne(arr){
let carry = 1;
for(let i=arr.length-1;i>=0;i--){
let sum = arr[i]+carry;
arr[i]=sum%10;
carry=Math.floor(sum/10);
}
if(carry) arr.unshift(carry);
return arr;
}
console.log(addOne([1,2,3])); // [1,2,4]
console.log(addOne([9,9])); // [1,0,0]
15. Valid Parenthesis in JS
function isValid(s){
const stack = [];
const map = { "(":")","{":"}","[":"]" };
for(let char of s){
if(map[char]) stack.push(char);
else{
if(char !== map[stack.pop()]) return false;
}
}
return stack.length===0;
}
console.log(isValid("(){}[]")); // true
console.log(isValid("([)]")); // false
16. Count frequency of character in string or array
// Easy approach
function freqCount(str){
const count = {};
for(let char of str) count[char]=(count[char]||0)+1;
return count;
}
console.log(freqCount("hello")); // {h:1,e:1,l:2,o:1}
console.log(freqCount([1,2,2,3])); // {1:1,2:2,3:1}
// Using reduce
const arr = [1,2,2,3];
const freq = arr.reduce((acc,el)=>{ acc[el]=(acc[el]||0)+1; return acc; },{});
console.log(freq); // {1:1,2:2,3:1}