Skip to content

Instantly share code, notes, and snippets.

View ChathuraGH's full-sized avatar
☺️
coding

Chathura madusanka ChathuraGH

☺️
coding
View GitHub Profile
@ChathuraGH
ChathuraGH / Permutate.js
Created December 3, 2023 18:52
Dictionary permutation generator
// console.log([...permutate(['1', '2', '3'], 2)])
// console.log([...permutate(['1', '2', '3'], 3)])
function* permutate(items, count) {
yield* req([])
function* req(array) {
if (array.length == count) {
yield array.join('')
return
@ChathuraGH
ChathuraGH / StringChunker.js
Created December 3, 2023 18:48
String Chunker
function chunkString (str, len) {
const size = Math.ceil(str.length/len)
const r = Array(size)
let offset = 0
for (let i = 0; i < size; i++) {
r[i] = str.substr(offset, len)
offset += len
}
@ChathuraGH
ChathuraGH / load_a_.js
Created December 1, 2023 19:51
To load a .js or .css file dynamically
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
//Split the string with the spread ... operator instead of .split(''):
'🌯🌯🍣🍻'.split('')
//=> ["\ud83c", "\udf2f", "\ud83c", "\udf2f", "\ud83c", "\udf63", "\ud83c", "\udf7b"]
//vs
[...'🌯🌯🍣🍻']
//=> ["🌯", "🌯", "🍣", "🍻"]
//vs
function Char_Count(str1) {
var chars = {};
str1.replace(/\S/g, function(l){chars[l] = (isNaN(chars[l]) ? 1 : chars[l] + 1);});
return chars;
}
var myString = "This is my String";
console.log(Char_Count(myString));
function countChrOccurence ('hello') {
let charMap = new Map();
const count = 0;
for (const key of str) {
charMap.set(key,count); // initialize every character with 0. this would make charMap to be 'h'=> 0, 'e' => 0, 'l' => 0,
}
for (const key of str) {
let count = charMap.get(key);
charMap.set(key, count + 1);
function countChar(str) {
let myObj= {};
for (let s of str) {
if ( myObj[s] ? myObj[s].count ++ : myObj[s] = { count : 1 } );
}
return myObj;
}
var charCount = countChar('abcceddd');
let str = "atul kumar srivastava";
let obj ={};
for(let s of str)if(!obj[s])obj[s] = 1;else obj[s] = obj[s] + 1;
console.log(obj)
//source
// https://stackoverflow.com/questions/19480916/count-number-of-occurrences-for-each-char-in-a-string
// https://stackoverflow.com/a/60648545/13861187
@ChathuraGH
ChathuraGH / SortToDic_4.js
Created December 1, 2023 19:17
Object.entries(dict).sort
const k = 5;
const dict = {
"x" : 1,
"y" : 6,
"z" : 9,
"a" : 5,
"b" : 7,
"c" : 11,
"d" : 17,
"t" : 3
@ChathuraGH
ChathuraGH / SortToDic_3.js
Created December 1, 2023 19:12
sortObjectByValues to dic
const sortObjectByValues = (dict: { [key: string]: number }, direction: 'asc'| 'desc' = 'asc') => {
return Object.fromEntries(Object.entries(dict).sort((a, b) => {
if (direction === 'asc') {
return a[1] - b[1]
}
return b[1] - a[1]
}))
}