Tính tổng và tích của array sử dụng reduce javascript
function accumulation(...array) {
return array.reduce((prev, next) => prev + next, 0);
}
function multiplication(...array) {
return array.reduce((pre, next) => pre * next, 1);
}
Convert array sang object
const players = [
{ id: 11, name: 'Messi', age: 33 },
{ id: 12, name: 'Ronaldo', age: 34 },
{ id: 13, name: 'Young', age: 35 },
{ id: 14, name: 'Mane', age: 21 },
{ id: 15, name: 'Salah', age: 24 },
]
const convertArrayToObject = (array, key) => {
const initialValue = {};
return array.reduce((obj, item) => {
return {
...obj,
[item[key]]: item,
};
}, initialValue);
}
// output
const playersModified = convertArrayToObject(players, 'id');
playersModified = {
11: {id: 11, name: "Messi", age: 33}
12: {id: 12, name: "Ronaldo", age: 34}
13: {id: 13, name: "Young", age: 35}
14: {id: 14, name: "Mane", age: 21}
15: {id: 15, name: "Salah", age: 24}
}
Reduce thay thế Reverse()
function reverse(array = []) {
return array.reduce((prev, next) => (prev.push(next), prev), []);
}
reverse([1, 2, 3, 4, 5]); // [5, 4, 3, 2, 1]
Reducer thay thế map()
const a = arr.map(item => item * 2);
const b = arr.reduce((prev, next) => [...prev, next * 2], []);
Reducer thay thế filter()
const c = arr.filter(item => item > 1);
const d = arr.reduce((prev, next) => prev > 1 ? [...prev, next] : prev, []);