Skip to content

Instantly share code, notes, and snippets.

@ChathuraGH
ChathuraGH / gist:2e1b2c9f02390b1f85a4cd26768d26b8
Created August 5, 2021 03:38 — forked from schacon/gist:1
the meaning of gist
This is gist.
There are many like it, but this one is mine.
It is my life.
I must master it as I must master my life.
Without me gist is useless.
Without gist, I am useless.
@ChathuraGH
ChathuraGH / SortToArrar.js
Last active November 30, 2023 10:36
Sort Js Dictionary to Array
var dict = {
"x": 1,
"y": 6,
"z": 9,
"a": 5,
"b": 7,
"c": 11,
"d": 17,
"t": 3
};
@ChathuraGH
ChathuraGH / SortToDic.js
Created November 30, 2023 10:45
Sort Dictionary to Dictionary Js
function sort_object(obj) {
items = Object.keys(obj).map(function(key) {
return [key, obj[key]];
});
items.sort(function(first, second) {
return second[1] - first[1];
});
sorted_obj={}
$.each(items, function(k, v) {
use_key = v[0]
@ChathuraGH
ChathuraGH / SortToDic.js
Created November 30, 2023 10:57
Dictionary sort to Dictionary js
class DictUtils {
static entries(dictionary) {
try {
//ECMAScript 2017 and higher, better performance if support
return Object.entries(dictionary);
} catch (error) {
@ChathuraGH
ChathuraGH / OccCounter.js
Created December 1, 2023 00:39
Character Occurrences Counter of a string
let s = 'hello';
var result = [...s].reduce((a, e) => { a[e] = a[e] ? a[e] + 1 : 1; return a }, {});
console.log(result); // {h: 1, e: 1, l: 2, o: 1}
@ChathuraGH
ChathuraGH / OccCounter_V2.js
Created December 1, 2023 00:42
Character Occurrences Counter of a string
function withAMap(str) {
// A map for the character=>count mappings
const counts = new Map();
// Loop through the string...
for (const ch of str) {
// Get the count for it, if we have one; we'll get `undefined` if we don't
// know this character yet. Using nullish coalescing (`??`), we can turn
// that `undefined` into a `0`. (In obsolete environments that don't
//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');