Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions node-environment/7_string/1_string_not_mutable_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
let arr = [ 0 , 39 , 93 , 45 , 32, 67 , 9 , 56]
arr.push(100)
console.log(arr) // [ 0 , 39 , 93 , 45 , 32, 67 , 9 , 56 , 100]
arr[0] = 100
console.log(arr)// [ 100 , 39 , 93 , 45 , 32, 67 , 9 , 56 , 100]


//! but it's push pop not work in the string

let name = "shazan"
// name.push("f") //! error
console.log(name) // shazan
console.log(name[0]) // s
console.log(name[4]) // a

//! concarinate
let firstName = "shariyer"
console.log(firstName + " shazan") // shariyer shazan

//! or
let fName = "atiya"
fName += " Priya"
console.log(fName) // atiya Priya
36 changes: 36 additions & 0 deletions node-environment/7_string/2_string_details_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
let name = "shazan";
console.log(name.length); // 6

console.log(name.slice(0, 3)); // sha
console.log(name.slice(3, name.length)); // zan
console.log(name.slice(-3, name.length)); // zan

//! substring
console.log(name.substring(2)); // azan
console.log(name.substring(2, name.length - 1)); // aza
name = name.toUpperCase();
console.log(name); //SHAZAN
console.log(name.toLowerCase()); // shazan

console.log(name.concat(" ", "priya")); // SHAZAN priya
console.log(name.concat(" ", "priya").toLowerCase()); // shazan priya

let me = " shariyer shazan ";
console.log(me); // shariyer shazan
console.log(me.trim()); // shariyer shazan

name = name.toLowerCase();
console.log(name.charAt(2)); // a
console.log(name.charCodeAt(2)); // 97
console.log("a".charCodeAt()); // 97
console.log("A".charCodeAt()); // 65

for (let i = name.length - 1; i >= 0; i--) {
console.log(name.charAt(i));
}

let rev = "";
for (let i = name.length - 1; i >= 0; i--) {
rev += name.charAt(i);
}
console.log(rev) // nazahs
21 changes: 21 additions & 0 deletions node-environment/7_string/3_check_palindrome_string_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { prompt } from "../4_js_pattern/1_node_prompt_sync_.js";

const str = prompt("Enter a string: ").toLowerCase().trim();

console.log(str.split(""));
console.log(str.length);

let isPalindrome = true;
let i = 0,
j = str.length - 1;

while (i < j) {
if (str[i] !== str[j]) {
isPalindrome = false;
break;
}
i++;
j--;
}

console.log(isPalindrome ? "It's a palindrome" : "Not a palindrome"); // if mam //? It's a palindrome
13 changes: 13 additions & 0 deletions node-environment/7_string/4_toggle_upper_lowwer_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { prompt } from "../4_js_pattern/1_node_prompt_sync_.js";

let name = prompt("Enter a string: ")
console.log(name) // ShAzAn
let toggle = ""
for(let i = 0 ; i<name.length ; i++){
if(name.charCodeAt(i) >= 65 && name.charCodeAt(i) <= 90){
toggle += name[i].toLowerCase()
} else{
toggle += name[i].toUpperCase();
}
}
console.log(toggle); // sHaZaN
14 changes: 14 additions & 0 deletions node-environment/7_string/5_cherecter_frequency_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { prompt } from "../4_js_pattern/1_node_prompt_sync_.js";

let str = prompt("Enter a string: ").trim()
let freq = {};

for (let ch of str) {
if (freq[ch]) {
freq[ch]++;
} else {
freq[ch] = 1;
}
}

console.log(freq);
13 changes: 13 additions & 0 deletions node-environment/7_string/6_cher_freq_with_map_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { prompt } from "../4_js_pattern/1_node_prompt_sync_.js";

let str = prompt("Enter a string: ").trim();
let map = new Map();

for (let ch of str) {
map.set(ch, (map.get(ch) || 0) + 1);
}

console.log(map);

let head = [2,3,4,52,3 ,45]
head.sort()
26 changes: 26 additions & 0 deletions node-environment/7_string/7_roman_to_int_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* @param {string} s
* @return {number}
*/
var romanToInt = function (s) {
let map = {
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000,
};
let total = 0;
for (let i = 0; i < s.length; i++) {
let current = map[s[i]];
let next = map[s[i + 1]];
if (current < next) {
total -= current;
} else {
total += current;
}
}
return total;
};
18 changes: 18 additions & 0 deletions node-environment/7_string/8_temperateure_dif_count_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
let temperature = [ -4 , -10 , 33 , 54 , "error",34 ,21 , 18 , -12 , -3, 8 , -9 ]

let tempDiff = (tempArr) => {
let lower = tempArr[0]
let higher = tempArr[0]

for(let i = 0 ; i< tempArr.length ; i++){
if(typeof tempArr[i] !== "number"){ continue}
if(lower > tempArr[i]){
lower = tempArr[i]
}
if(higher < tempArr[i]){
higher = tempArr[i]
}
}
return higher - lower
}
console.log(tempDiff(temperature))
11 changes: 11 additions & 0 deletions node-environment/7_string/9_char_count_.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
let charCount = (chars) => {
let char = {}
for(let c of chars){
if(char[c]){
char[c]++
} else {
char[c] == 1
}
}
return char
}