関数: mn 間のランダムな整数を取得します。
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));