我有一个获取多个选定行的代码。我可以得到所有的数据行,但我计划得到特定的数据是值得的。我被困在获取每个选定行的优点的特定值上,并且希望为它们的中间值编写代码。请给我建议。
const median = {{ employeesTable.selectedRow.data }}
return median这是一个样本数据,我想得到的只是优点,例如10和14,并得到它们的中值。
[{
id:"15"
email:"cornflakes123@gmail.com"
employee_name:"Mark"
merits:10
},
{
id:"12"
email:"fourleaves@gmail.com"
employee_name:"Grey"
merits:14
}]我想要显示的输出是所选择的优点的中位数。例如,如果选择三行,则收集它们的优点,然后给出中值。
例如,如果这三行具有5、11和12的优点,那么我想要的输出是在“返回”值上显示中位数11。
发布于 2022-09-21 09:23:21
更新2
使用以下函数获取中间值(感谢https://stackoverflow.com/a/53660837/8820118):
let data = [
{
id: "15",
email: "cornflakes123@gmail.com",
employee_name: "Mark",
merits: 1,
},
{
id: "12",
email: "fourleaves@gmail.com",
employee_name: "Grey",
merits: 5,
},
{
id: "12",
email: "fourleaves@gmail.com",
employee_name: "Grey",
merits: 100,
},
{
id: "12",
email: "fourleaves@gmail.com",
employee_name: "Grey",
merits: 100,
},
{
id: "12",
email: "fourleaves@gmail.com",
employee_name: "Grey",
merits: 500,
},
]
function median(myData) {
const sorted = Array.from(myData.map((item) => item.merits)).sort((a, b) => a - b);
const middle = Math.floor(sorted.length / 2);
if (sorted.length % 2 === 0) {
return (sorted[middle - 1] + sorted[middle]) / 2;
}
return sorted[middle];
}
console.log(median(data));
更新
根据您的注释,您希望从数组中返回最低的优点值。
const data = {{ employeesTable.selectedRow.data }}
//now that we have the data we can get min and max value
let min = Math.min(...data.map(item => item.merits));
let max = Math.max(...data.map(item => item.merits));
return min; //or return max旧员额
只需从对象中选择键即可。下面是基于您提供的代码的一个小示例:
const employeesTable = {
selectedRow: {
data: [
{
id: "15",
email: "cornflakes123@gmail.com",
employee_name: "Mark",
merits: 10,
},
{
id: "12",
email: "fourleaves@gmail.com",
employee_name: "Grey",
merits: 14,
},
],
},
};
//iterate over the array
for (let i = 0; i < employeesTable.selectedRow.data.length; i++) {
console.log(getMerits(i)); //return merit for that entry
}
function getMerits(index) {
return employeesTable.selectedRow.data[index].merits;
}
请提供更多的细节,因为你的问题可能意味着其他的东西,例如,只检索那些价值10和14。在这种情况下,提供更多的信息,你想要达到的。
发布于 2022-09-21 10:10:29
employeesTable.selectedRow.data.forEach((ele)=>{
console.log(ele.id)
})https://stackoverflow.com/questions/73798113
复制相似问题