Travis build: 1384
This commit is contained in:
@ -14,6 +14,7 @@ const checkProp = (predicate, prop) => obj => !!predicate(obj[prop]);
|
|||||||
```js
|
```js
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const lengthIs4 = checkProp(l => l === 4, 'length');
|
const lengthIs4 = checkProp(l => l === 4, 'length');
|
||||||
lengthIs4([]); // false
|
lengthIs4([]); // false
|
||||||
lengthIs4([1,2,3,4]); // true
|
lengthIs4([1,2,3,4]); // true
|
||||||
|
|||||||
@ -10,6 +10,7 @@ Use `Object.assign()` and an empty object (`{}`) to create a shallow clone of th
|
|||||||
Use `Object.keys()` and `Array.prototype.forEach()` to determine which key-value pairs need to be deep cloned.
|
Use `Object.keys()` and `Array.prototype.forEach()` to determine which key-value pairs need to be deep cloned.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
const deepClone = obj => {
|
const deepClone = obj => {
|
||||||
let clone = Object.assign({}, obj);
|
let clone = Object.assign({}, obj);
|
||||||
Object.keys(clone).forEach(
|
Object.keys(clone).forEach(
|
||||||
|
|||||||
@ -10,6 +10,7 @@ Use `Object.keys(obj)` to iterate over the object's keys.
|
|||||||
Use `Array.prototype.reduce()` to create a new object with the same values and mapped keys using `fn`.
|
Use `Array.prototype.reduce()` to create a new object with the same values and mapped keys using `fn`.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
const deepMapKeys = (obj, f) =>
|
const deepMapKeys = (obj, f) =>
|
||||||
Array.isArray(obj)
|
Array.isArray(obj)
|
||||||
? obj.map(val => deepMapKeys(val, f))
|
? obj.map(val => deepMapKeys(val, f))
|
||||||
|
|||||||
@ -9,6 +9,7 @@ Use the `in` operator to check if `target` exists in `obj`.
|
|||||||
If 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.
|
If 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.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
const dig = (obj, target) =>
|
const dig = (obj, target) =>
|
||||||
target in obj
|
target in obj
|
||||||
? obj[target]
|
? obj[target]
|
||||||
|
|||||||
@ -11,6 +11,7 @@ Otherwise, return the product of `n` and the factorial of `n - 1`.
|
|||||||
Throws an exception if `n` is a negative number.
|
Throws an exception if `n` is a negative number.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
const factorial = n =>
|
const factorial = n =>
|
||||||
n < 0
|
n < 0
|
||||||
? (() => {
|
? (() => {
|
||||||
|
|||||||
@ -8,6 +8,7 @@ Converts an integer to a suffixed string, adding `am` or `pm` based on its value
|
|||||||
Use the modulo operator (`%`) and conditional checks to transform an integer to a stringified 12-hour format with meridiem suffix.
|
Use the modulo operator (`%`) and conditional checks to transform an integer to a stringified 12-hour format with meridiem suffix.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
const getMeridiemSuffixOfInteger = num =>
|
const getMeridiemSuffixOfInteger = num =>
|
||||||
num === 0 || num === 24
|
num === 0 || num === 24
|
||||||
? 12 + 'am'
|
? 12 + 'am'
|
||||||
|
|||||||
@ -11,6 +11,7 @@ Omit the second argument, `separator`, to use a default separator of `','`.
|
|||||||
Omit the third argument, `end`, to use the same value as `separator` by default.
|
Omit the third argument, `end`, to use the same value as `separator` by default.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|
||||||
const join = (arr, separator = ',', end = separator) =>
|
const join = (arr, separator = ',', end = separator) =>
|
||||||
arr.reduce(
|
arr.reduce(
|
||||||
(acc, val, i) =>
|
(acc, val, i) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user