JS PROGRAMMING QUESTIONS

JS PROGRAMMING QUESTIONS 

const array = [35, 34, 4, 1];

const bubbleSort = (array) => {
let length = array.length;

let swapping = true;

while (swapping) {
swapping = false;

let i = 0;

while (i < length) {

if (array[i] > array[i + 1]) {
let temp = array[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swapping = true;
}
i++
}
length--;
}

return array;
}
const list = [752, 600, 999, 1, 15];

const target = 615;

// [0 , 1]

const twoSum = (list, target) => {
let heapMap = {};
for (index = 0; index < list.length; index++) {
let difference = target - list[index];
if (heapMap.hasOwnProperty(difference)) {
return [heapMap[difference], index]
}
heapMap[list[index]] = index;
}
}
const missingNumberList = [3, 2, 4, 5];

const findMissingNumber = (list) => {
const length = list.length + 1;
const missingNumberListUnique = new Set([...missingNumberList]);
for (let i = 1; i < length; i++) {
if (!missingNumberListUnique.has(i)) {
return i;
}
}
}

// console.log(findMissingNumber(missingNumberList) , 'RESULT');
const input = "Stephen";

const reverseString = (input) => {
return input.split('').reverse().join('')
}

// console.log(reverseString(input)); // nehpetS
const checkPalindrome = (string) => {

const actualString = string.replace(/[\W_]/g, '').toLowerCase();

const reversedString = actualString.split('').reverse().join('');

return actualString === reversedString
}

// console.log(checkPalindrome('A man, a plan, a canal, Panama'));
function removeDuplicates(array) {
return [...new Set(array)]
}

// console.log(removeDuplicates([3,54,66,432,2,2,2,5]));


function checkAnagram(text1, text2) {

const normalizeText = (string) => string.replace(/[\W_]/g, '').split('').sort().join('');

return normalizeText(text1) === normalizeText(text2)
}

// console.log(checkAnagram('listen', 'silent'));
// Flatten a Deeply Nested Array
// This function flattens an array that may have nested arrays at multiple levels.
function flattenArray(array) {
return array.reduce((acc, val) => {
return (Array.isArray(val)) ? acc.concat(flattenArray(val)) : acc.concat(val)
}, [])
}

// console.log(flattenArray([1, [2, [3, [4]], 5]])); // [1, 2, 3, 4, 5]


function deepClone(obj) {

if (obj === null || typeof obj !== 'object') {
return obj
}

if (Array.isArray(obj)) return obj.map((e) => deepClone(e));

let clonedObject = {};

for (const key in obj) {
if (obj.hasOwnProperty(key)) {
clonedObject[key] = deepClone(obj[key]);
}
}

return clonedObject;
}

const original = {
name: "John",
address: {
city: "New York",
zip: "10001"
},
hobbies: ["reading", "sports"]
};

console.log(JSON.parse(JSON.stringify(original))); // Deep Clone Using JSON.parse() and JSON.stringify()

const clone = deepClone(original);

clone.address.city = "San Francisco";

clone.hobbies.push("music");

console.log(clone, 'clone');

console.log(original, 'original');


const findLargestNumber = (array) => {

if (array.length === 0) throw Error('Array Should not be Empty');

let largest = array[0];

for (let index = 0; index < array.length; index++) {

if (array[index] > largest) {

largest = array[index];

}
}
return largest;
}

console.log(findLargestNumber([4,7,8,10,33,100,35,1000])); // 1000

// The Fibonacci sequence is the series of numbers where each number is the sum of the two preceding numbers.
// For example, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610

const fibonacciNumber = (n) => {

if (n < 0) {
throw Error('Non Integer');
}

let a = 0;

let b = 1;

for (let index = 0; index < n; index++) {
let temp = a;
a = b;
b = temp + b
}

return a

}

console.log(fibonacciNumber(10))


function mergeSortedArrays(arr1, arr2) {

const mergedArray = [];

arr1.sort((a, b) => a - b);
arr2.sort((a, b) => a - b);

let i = 0;

let j = 0;

while (i < arr1.length && j < arr2.length) {
if (arr1[i] < arr2[j]) {
mergedArray.push(arr1[i]);
i++
} else {
mergedArray.push(arr2[j]);
j++
}
}

while (i < arr1.length) {
mergedArray.push(arr1[i]);
i++;
}

while (j < arr2.length) {
mergedArray.push(arr2[j]);
j++;
}
return mergedArray;
}


const array1 = [1, 3, 5, 7,3];
const array2 = [2, 4, 6, 80];
const merged = mergeSortedArrays(array1, array2);


function longestCommonPrefix(strings) {

if (strings.length === 0) return '';

let prefix = strings[0];

for (let index = 0; index < strings.length; index++) {

console.log(strings[index] , prefix);
while (strings[index].indexOf(prefix) !== 0) {

prefix = prefix.substring(0 , prefix.length - 1);

if (prefix === '') return ''
}

}

return prefix
}
const strings = ["flower", "flow", "flight"];

console.log(longestCommonPrefix(strings)); //fl
function reverseString(str) {
let reversed = '';
for (let i = str.length - 1; i >= 0; i--) {
reversed += str[i];
}
return reversed;
}

console.log(reverseString('hello')); // 'olleh'


// Find the Second Largest Number in an Array
// Write a function that finds the second largest number in a given array.
function secondLargest(arr) {
if (arr.length < 2) return null;
let first = -Infinity, second = -Infinity;
for (let num of arr) {
if (num > first) {
second = first;
first = num;
} else if (num > second && num < first) {
second = num;
}
}
return second;
}

console.log(secondLargest([1, 3, 7, 4, 2])); // 4

Post a Comment

Previous Post Next Post