首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多行中获取每一行的特定值

问从多行中获取每一行的特定值
EN

Stack Overflow用户
提问于 2022-09-21 09:04:15
回答 2查看 59关注 0票数 3

我有一个获取多个选定行的代码。我可以得到所有的数据行,但我计划得到特定的数据是值得的。我被困在获取每个选定行的优点的特定值上,并且希望为它们的中间值编写代码。请给我建议。

代码语言:javascript
复制
const median = {{ employeesTable.selectedRow.data }}
return median

这是一个样本数据,我想得到的只是优点,例如10和14,并得到它们的中值。

代码语言:javascript
复制
[{
   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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-21 09:23:21

更新2

使用以下函数获取中间值(感谢https://stackoverflow.com/a/53660837/8820118):

​

代码语言:javascript
复制
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));

​

更新

根据您的注释,您希望从数组中返回最低的优点值。

代码语言:javascript
复制
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

旧员额

只需从对象中选择键即可。下面是基于您提供的代码的一个小示例:

​

代码语言:javascript
复制
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。在这种情况下,提供更多的信息,你想要达到的。

票数 1
EN

Stack Overflow用户

发布于 2022-09-21 10:10:29

代码语言:javascript
复制
employeesTable.selectedRow.data.forEach((ele)=>{
  console.log(ele.id)
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73798113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档