函数: 取m-n之间的随机整数
function randomNumber(min, max) {
if (min >= max) {
return NaN;
}
return parseInt(Math.random() * (max - min + 1) + min);
}
数组:求每个元素出现的次数
let arr = ['a', 'b', 'c', 'a', 'c', 'd', 'e', 'm', 'd'];
let res = arr.reduce((pre, val) => {
pre[val] = (pre[val]) ? pre[val] + 1 : 1;
return pre;
}, {})
console.log(res);
let res = arr.reduce((pre, val) => {
if (!pre[val]) {
pre[val] = 1;
} else {
pre[val]++;
}
return pre;
}, {})
console.log(res);
数组扁平化
let arr = [[1, 2], [3, 4], [5, 6]];
let arr2 = arr.reduce((pre, val) => {
return pre.concat(val);
}, []);
console.log(arr2);
let arr = [[1, 2], [3, 4], [5, [6, 7]]];
let arr2 = function(arr) {
return arr.reduce((pre, val) => pre.concat(Array.isArray(val) ? arr2(val) : val), []);
}
console.log(arr2(arr));