• Nov 19, 2022 •CodeCatch
0 likes • 6 views
const deepMerge = (a, b, fn) => [...new Set([...Object.keys(a), ...Object.keys(b)])].reduce( (acc, key) => ({ ...acc, [key]: fn(key, a[key], b[key]) }), {} ); deepMerge( { a: true, b: { c: [1, 2, 3] } }, { a: false, b: { d: [1, 2, 3] } }, (key, a, b) => (key === 'a' ? a && b : Object.assign({}, a, b)) ); // { a: false, b: { c: [ 1, 2, 3 ], d: [ 1, 2, 3 ] } }
0 likes • 2 views
// promisify(f, true) to get array of results function promisify(f, manyArgs = false) { return function (...args) { return new Promise((resolve, reject) => { function callback(err, ...results) { // our custom callback for f if (err) { reject(err); } else { // resolve with all callback results if manyArgs is specified resolve(manyArgs ? results : results[0]); } } args.push(callback); f.call(this, ...args); }); }; } // usage: f = promisify(f, true); f(...).then(arrayOfResults => ..., err => ...);
• Sep 13, 2023 •C S
0 likes • 7 views
/** * @param {number[]} nums * @return {boolean} */ var containsDuplicate = function(nums) { return new Set(nums).size !== nums.length };
• Jan 26, 2023 •AustinLeath
function printHeap(heap, index, level) { if (index >= heap.length) { return; } console.log(" ".repeat(level) + heap[index]); printHeap(heap, 2 * index + 1, level + 1); printHeap(heap, 2 * index + 2, level + 1); } //You can call this function by passing in the heap array and the index of the root node, which is typically 0, and level = 0. let heap = [3, 8, 7, 15, 17, 30, 35, 2, 4, 5, 9]; printHeap(heap,0,0)
• Mar 11, 2021 •C S
1 like • 7 views
import { createSlice } from "@reduxjs/toolkit"; const alert = createSlice({ name: "alert", initialState: { msg: "", status: "", }, reducers: { set_alert: (state, action) => { return { ...state, msg: action.payload.msg, status: action.payload.status, }; }, clear_alert: (state, action) => { return { ...state, msg: "", status: "", }; }, }, }); export default alert.reducer; const { set_alert, clear_alert } = alert.actions; export const setAlert = (msg, status) => dispatch => { dispatch(set_alert({ msg, status })); setTimeout(() => dispatch(clear_alert()), 4000); }; export const clearAlert = () => dispatch => { dispatch(clear_alert()); };
• Nov 20, 2022 •Helper
new StringBuilder(hi).reverse().toString()