add(server.tests.test2): 添加实验2的内容,将pdf里面标重要的进行提取出来
This commit is contained in:
55
Server/tests/test2/important/reduce.js
Normal file
55
Server/tests/test2/important/reduce.js
Normal file
@@ -0,0 +1,55 @@
|
||||
// arr.reduce(
|
||||
// callback(accumulator, currentValue[, currentIndex[, array]])
|
||||
// [, initialValue]
|
||||
// )
|
||||
|
||||
const data1 = [1, 2, 3, 4, 5];
|
||||
// 没有使用初始值,则 sum 被初始为 1,cur从2开始, ..., ...
|
||||
let rst1 = data1.reduce((sum, cur) => {
|
||||
return sum += cur
|
||||
})
|
||||
console.log(rst1)
|
||||
|
||||
const data2 = [1, 2, 3, 4, 5];
|
||||
// 为初始值【1】,则temp被初始为【1】,cur从1开始, ..., ...
|
||||
let rst2 = data2.reduce((temp, cur) => {
|
||||
return temp *= cur
|
||||
}, 1)
|
||||
console.log(rst2);
|
||||
|
||||
const fruits = ['apple', 'banana', 'apple', 'banana', 'apple'];
|
||||
const rst3 = fruits.reduce((acc, cur) => {
|
||||
if (!acc[cur])
|
||||
acc[cur] = 1;
|
||||
else
|
||||
acc[cur]++;
|
||||
return acc;
|
||||
}, {});
|
||||
console.log(rst3);
|
||||
|
||||
const people = [
|
||||
{ name: 'zs', age: 25 },
|
||||
{ name: 'ls', age: 30 },
|
||||
{ name: 'ww', age: 25 },
|
||||
{ name: 'sb', age: 30 }
|
||||
];
|
||||
// 按年龄进行汇总,acc初始为{},cur从zs这条数据开始
|
||||
const rst4 = people.reduce((acc, cur) => {
|
||||
const age = cur.age;
|
||||
if (!acc[age])
|
||||
acc[age] = [];
|
||||
acc[age].push(cur);
|
||||
return acc;
|
||||
}, {});
|
||||
console.log(rst4);
|
||||
|
||||
/*
|
||||
# node reduce.js
|
||||
15
|
||||
120
|
||||
{ apple: 3, banana: 2 }
|
||||
{
|
||||
'25': [ { name: 'zs', age: 25 }, { name: 'ww', age: 25 } ],
|
||||
'30': [ { name: 'ls', age: 30 }, { name: 'sb', age: 30 } ]
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user