[英]How do I Sort, Slice, then Map an Array?
Im trying to sort, then slice (show last n elements of array only) and then map this array.我试图排序,然后切片(仅显示数组的最后 n 个元素) ,然后 map 这个数组。
This is the working version (react syntax) currently, with sort and map but without slicing yet.这是目前的工作版本(反应语法),带有排序和 map 但还没有切片。
{Object.keys(dataObj)
.sort(
(a, b) =>
dataObj[a]["order"] -
dataObj[b]["order"]
)
.map((movie, i) => {
return (
<li key={i}>
{movie}
{dataObj[movie]["value"]}
</li>
);
})}
How do I continue to slice this, in between sort and map?我如何在 sort 和 map 之间继续切片?
This is what my pseudo code would look like.这就是我的伪代码的样子。
{Object.keys(dataObj)
.sort(
(a, b) =>
dataObj[a]["order"] -
dataObj[b]["order"]
)
.((arr)=>arr.slice(arr.length-10, arr.length+1))
.map((movie, i) => {
return (
<li key={i}>
{movie}
{dataObj[movie]["value"]}
</li>
);
})}
This obviously does not work but how do I carry on to Slice after the .sort which returns an array?这显然行不通,但是在返回数组的.sort之后如何继续Slice ?
And then map this sliced array afterwards.然后是 map 这个切片阵列之后。
What syntax do I use?我使用什么语法? Thanks!
谢谢!
You could take Array#slice
directly with a negative index from the end.您可以从末尾直接使用
Array#slice
并使用负索引。
Object.keys(dataObj)
.sort((a, b) => dataObj[a].order - dataObj[b].order)
.slice(-10)
.map((movie, i) => {
return (
<li key={i}>
{movie} {dataObj[movie].value }
</li>
);
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.