const people
= [{
name
: "som",
age
: 35,
city
: "beijing ",
},
{
name
: "tom",
age
: 25,
city
: "chengdu ",
},
{
name
: "frank",
age
: 45,
city
: "shanghai ",
},
{
name
: "mary",
age
: 35,
city
: "chengdu ",
},
{
name
: "frank",
age
: 45,
city
: "shanghai ",
},
];
方法1
function FC(people
) {
console
.log(people
, "people");
let result
= {};
let city
= [];
people
.map((item
) => {
city
.push(item
.city
);
});
city
= city
.filter((item
, index
, array
) => {
return array
.indexOf(item
) === index
;
});
for (let j
= 0; j
< city
.length
; j
++) {
let len
= 0;
result
[city
[j
]] = 0;
people
.map((item
) => {
if (item
.city
== city
[j
]) {
result
[city
[j
]] += item
.age
;
len
++;
}
});
if (len
> 1) {
result
[city
[j
]] = result
[city
[j
]] / len
;
}
}
console
.log(city
, "city");
return result
;
}
console
.log(FC(people
), "result");
方法2
方法
2
function Fc(people
) {
let result
= {};
let len
= {};
people
.map((item
, index
) => {
let keys
= Object
.keys(item
);
console
.log(keys
);
let values
= Object
.values(item
);
console
.log(values
);
if (!result
[values
[2]]) {
result
[values
[2]] = 0;
len
[values
[2]] = 0;
console
.log(result
);
console
.log(len
[values
[2]]);
}
result
[values
[2]] += values
[1];
len
[values
[2]]++;
});
for (let i
in result
) {
result
[i
] = result
[i
] / len
[i
];
}
return result
;
}
console
.log(Fc(people
));
方法3
function Fc(people
) {
let result
= {};
let len
= {};
people
.map((item
) => {
if (!result
[item
["city"]]) {
result
[item
["city"]] = 0;
len
[item
["city"]] = 0;
}
result
[item
["city"]] += item
.age
;
len
[item
["city"]]++;
});
console
.log(result
);
console
.log(len
);
for (let i
in result
) {
result
[i
] = result
[i
] / len
[i
];
}
return result
;
}
console
.log(Fc(people
));
转载请注明原文地址: https://lol.8miu.com/read-37464.html