Lucas Liao's Blog

一些有趣的js编程技巧

findSum

Given an unordered array of integers and a value sum, return true if any two items may be added such that they equal the value of sum . Otherwise, return false.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

const findSum = (arr, val) => {
let searchValues = new Set();
searchValues.add(val - arr[0]);
for (let i = 1, length = arr.length; i < length; i++) {
let searchVal = val - arr[i];
if (searchValues.has(arr[i])) {
return true;
} else {
searchValues.add(searchVal);
}
};
return false;
};

awesome way

1
const findSum = (arr, sum) => arr.some(set => n => set.has(n) || !set.add(sum - n)(new Set);

Method Parameter Validation

1
2
3
const isRequired = () => {  throw new Error('param is requied') };

const print = (num = isRequired()) => console.log(num);

Format JSON Code

1
JSON.stringify({"name": "Jack"}, null '\t');