Travis build: 1076 [cron]
This commit is contained in:
@ -31,7 +31,9 @@
|
||||
"prefix": "30s_arrayToCSV",
|
||||
"body": [
|
||||
"const arrayToCSV = (arr, delimiter = ',') =>",
|
||||
" arr.map(v => v.map(x => `\"${x}\"`).join(delimiter)).join('\\n');"
|
||||
" arr",
|
||||
" .map(v => v.map(x => (isNaN(x) ? `\"${x.replace(/\"/g, '\"\"')}\"` : x)).join(delimiter))",
|
||||
" .join('\\n');"
|
||||
],
|
||||
"description": "Converts a 2D array to a comma-separated values (CSV) string.\n\nUse `Array.prototype.map()` and `Array.prototype.join(delimiter)` to combine individual 1D arrays (rows) into strings.\nUse `Array.prototype.join('\\n')` to combine all rows into a CSV string, separating each row with a newline.\nOmit the second argument, `delimiter`, to use a default delimiter of `,`"
|
||||
},
|
||||
@ -540,11 +542,11 @@
|
||||
" ? obj.map(val => deepMapKeys(val, f))",
|
||||
" : typeof obj === 'object'",
|
||||
" ? Object.keys(obj).reduce((acc, current) => {",
|
||||
" const val = obj[current];",
|
||||
" acc[f(current)] =",
|
||||
" const val = obj[current];",
|
||||
" acc[f(current)] =",
|
||||
" val !== null && typeof val === 'object' ? deepMapKeys(val, f) : (acc[f(current)] = val);",
|
||||
" return acc;",
|
||||
" }, {})",
|
||||
" return acc;",
|
||||
" }, {})",
|
||||
" : obj;"
|
||||
],
|
||||
"description": "Deep maps an object keys.\n\nCreates an object with the same values as the provided object and keys generated by running the provided function for each key.\n\nUse `Object.keys(obj)` to iterate over the object's keys. \nUse `Array.prototype.reduce()` to create a new object with the same values and mapped keys using `fn`"
|
||||
@ -621,9 +623,9 @@
|
||||
" target in obj",
|
||||
" ? obj[target]",
|
||||
" : Object.values(obj).reduce((acc, val) => {",
|
||||
" if (acc !== undefined) return acc;",
|
||||
" if (typeof val === 'object') return dig(val, target);",
|
||||
" }, undefined);"
|
||||
" if (acc !== undefined) return acc;",
|
||||
" if (typeof val === 'object') return dig(val, target);",
|
||||
" }, undefined);"
|
||||
],
|
||||
"description": "Returns the target value in a nested JSON object, based on the given key.\n\nUse the `in` operator to check if `target` exists in `obj`.\nIf found, return the value of `obj[target]`, otherwise use `Object.values(obj)` and `Array.prototype.reduce()` to recursively call `dig` on each nested object until the first matching key/value pair is found"
|
||||
},
|
||||
@ -1501,9 +1503,9 @@
|
||||
"isNumber": {
|
||||
"prefix": "30s_isNumber",
|
||||
"body": [
|
||||
"const isNumber = val => typeof val === 'number';"
|
||||
"const isNumber = val => typeof val === 'number' && val === val;"
|
||||
],
|
||||
"description": "Checks if the given argument is a number.\n\nUse `typeof` to check if a value is classified as a number primitive"
|
||||
"description": "Checks if the given argument is a number.\n\nUse `typeof` to check if a value is classified as a number primitive. \nTo safeguard against `NaN`, check if `val === val` (as `NaN` has a `typeof` equal to `number` and is the only value not equal to itself)"
|
||||
},
|
||||
"isObject": {
|
||||
"prefix": "30s_isObject",
|
||||
@ -2497,9 +2499,9 @@
|
||||
"const remove = (arr, func) =>",
|
||||
" Array.isArray(arr)",
|
||||
" ? arr.filter(func).reduce((acc, val) => {",
|
||||
" arr.splice(arr.indexOf(val), 1);",
|
||||
" return acc.concat(val);",
|
||||
" }, [])",
|
||||
" arr.splice(arr.indexOf(val), 1);",
|
||||
" return acc.concat(val);",
|
||||
" }, [])",
|
||||
" : [];"
|
||||
],
|
||||
"description": "Removes elements from an array for which the given function returns `false`.\n\nUse `Array.prototype.filter()` to find array elements that return truthy values and `Array.prototype.reduce()` to remove elements using `Array.prototype.splice()`.\nThe `func` is invoked with three arguments (`value, index, array`)"
|
||||
|
||||
Reference in New Issue
Block a user