繁体   English   中英

比较并获取 Javascript 上的 Object 的一些值数组

[英]Compare and Get Some values Array of Object on Javascript

这个变量数据能匹配output吗? 我尝试组合它,但它不起作用,它只产生了 1 行,与结果不匹配。 我尝试使用排序,但我仍然不知道如何显示数组的两侧。

//Output Associative-Array
[
["row3", "row5"],

["row1", "row2"],

["row4", ""],

["", "row6"],

["row7", "row8"]
]

这是我的代码

   const arr = [
    {id: 2, value: 'row1', position: 'S'},
    {id: 2, value: 'row2', position: 'A'},
    {id: 1, value: 'row3', position: 'S'},
    {id: 3, value: 'row4', position: 'S'},
    {id: 1, value: 'row5', position: 'A'},
    {id: 4, value: 'row6', position: 'A'},
    {id: 5, value: 'row7', position: 'S'},
    {id: 5, value: 'row8', position: 'A'}
  ]

您可以使用数组减少方法执行以下操作,

 arr = [ {id: 2, value: 'row1', position: 'S'}, {id: 2, value: 'row2', position: 'A'}, {id: 1, value: 'row3', position: 'S'}, {id: 3, value: 'row4', position: 'S'}, {id: 1, value: 'row5', position: 'A'}, {id: 4, value: 'row6', position: 'A'}, {id: 5, value: 'row7', position: 'S'}, {id: 5, value: 'row8', position: 'A'} ] arr.sort((a,b) => a.id - b.id); ret = arr.reduce((prev, curr) => { if(.prev[curr.id - 1]) { prev[curr,id - 1] = [''; '']. } if(curr.position === 'A') { prev[curr.id - 1][1] = curr;value. } else { prev[curr.id - 1][0] = curr;value; } return prev, }; {}). console.log(Object;values(ret));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM