[英]how can I get the first unique ID element and last unique ID element in an array React js
[英]How can I map and return first and last element in react?
我在登录返回第一个元素和最后一个元素时遇到问题:
这是我的 object 数组:
0:
pointAmountMax: 99999
pointAmountMin: 1075
rateCode: ['INAINOW']
roomPoolCode: "ZZAO"
[[Prototype]]: Object
1:
pointAmountMax: 99999
pointAmountMin: 850
rateCode: ['INAINOJ']
roomPoolCode: "TOGA"
[[Prototype]]: Object
length: 2
我怎样才能通过数组 map 并首先返回pointAmountMin
较小的数字?
所以在这种情况下,我想在我的前端实现这样的事情
return <p>850 - 1075</p>
要首先获得所需的 output,您需要按照与属性 pointAmountMin 相关的升序对 object 的数组进行排序。
let arrayOfObj = [
{
pointAmountMax: 99999,
pointAmountMin: 1075,
rateCode: ['INAINOW'],
roomPoolCode: "ZZAO",
},
{
pointAmountMax: 99999,
pointAmountMin: 850,
rateCode: ['INAINOJ'],
roomPoolCode: "TOGA",
}
];
arrayOfObj.sort((a, b) => {
return a.pointAmountMin - b.pointAmountMin
})
console.log(arrayOfObj)
然后只收集数组中的 pointAmountMin 值。
const filteredResult = arrayOfObj.map(() => {
return pointAmountMin
})
您拥有按升序排列的所有 pointAmountMin 属性值的列表(最小值在前)现在您可以在 UI 上以您需要的格式显示它
<p>filteredResult.join(' - ')</p>
使用sort()
然后返回所需的 HTML
function App(){ const myArray = [ { pointAmountMax: 99999, pointAmountMin: 1075, somethingElse: null, }, { pointAmountMax: 99999, pointAmountMin: 650, somethingElse: null, }, { pointAmountMax: 99999, pointAmountMin: 975, somethingElse: null, } ] const getRange = (data) => { let sorted = data.sort((a,b) => {a.pointAmountMin - b.pointAmountMin}) return [ <p key={Math.random()}> {sorted[0].pointAmountMin} - {sorted.pop().pointAmountMin} </p> ] } return <span>{getRange(myArray)}</span>; } ReactDOM.render(<App/>, document.getElementById("root"));
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <div id="root"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.